插死他综合网 探索华为云EulerOS与Flexus X实例怎么齐备会通快速部署Django
发布日期:2024-12-25 23:48    点击次数:147

插死他综合网 探索华为云EulerOS与Flexus X实例怎么齐备会通快速部署Django

绪言

在现在云计较和大数据的时期,时期的迭代更新为企业带来了无穷可能。华为云,四肢国内最初的云就业提供商,历久勤劳于于激动时期逾越,为开导者提供更高效、更方便的就业体验。本次828华为云征文行动,咱们将眼神聚焦于华为云EulerOS操作系统与Flexus X实例的深度会通,磋商如安在这一重大组合下结束Django就业的快速部署。本文将带你恍悟华为云的时期魔力,解锁高效部署新姿势插死他综合网,助力你的业务迅速发展。

什么是Django?

Django是一个高档的Python Web框架,它饱读吹快速开导和干净、实用的蓄意。Django相宜各式类型的Web应用开导,包括内容管理系统、电子商务平台、外错乱聚等。对于从业于py开导的东谈主员是一个必须要掌合手的一门框架, 本篇博客咱们将探索华为云EulerOS与Flexus X实举例和部署Django

搜检镜像信息

土产货畅通就业器之后输入指示 lsb_release -a 搜检镜像信息

张开剩余93%

从镜像信息中咱们不错看到咱们使用的镜像是Huawei Cloud EulerOS, 本次测评亦然需要在该镜像下进行。

购买就业器

对于Flexus X实例的购买以及关系建设不错参考我之前的著述

https://ruocheng.blog.csdn.net/article/details/141748572

操作才气装置Nginx 引申号令dnf install nginx 装置Nginx, 如下图所示,在装置nginx 时报错信息中提到建设中忽略了nginx ,咱们接下来建设该问题

建设nginx 被忽略的问题

怒放/etc/dnf/dnf.conf文献,查验是否有以下访佛的排斥行:exclude=nginx 如下图所示

建设文献中如实有忽略nginx 的方位, 因此咱们需要将该忽略的nginx 删除并保存, 然后再行装置即可, 如下图所示

启动Nginx

输入指示systemctl start nginx来启动nginx 就业

搜检Nginx 就业现象

输入指示systemctl status nginx搜检Nginx就业现象,如下图所示

装置uWSGI就业 装置关系依赖

引申指示 dnf install python3-devel gcc装置关系依赖,

我这里之前仍是装置过了,因此是如下领导, 若是莫得装置过的话,引申该指示是当年装置的

装置uWSGI并搜检版块号

输入指示 pip install uwsgi 装置uWSGI , 通过指示 uwsgi --version 来搜检版块号

创建py文献来编写所需代码

在就业器输入ll来搜检目次, 通过 mkdir pyWorker 来创建文献夹来存放咱们的py文献

通过 touch 来创建咱们所需的 py文献

接下来将底下的代码复制到咱们创建的py文献中

def application(env, start_response):

start_response('200 OK', [('Content-Type', 'text/html; charset=utf-8')])

message = "全球好,我是若城"

return [message.encode('utf-8')]

启动uWSGI就业

通过指示 uwsgi --http :8080 --wsgi-file test.py 来启动就业, 并在浏览器中输入彀址 http://<公网IP>:8080探听就业

防范: 8080 端口需要再安全组进口标的怒放

装置Django环境 装置Django

引申号令 pip install Django来装置 Django

起初化神气

引申指示 python -m django startproject django_project起初化Django 神气

裁剪建设文献

干预神气目次,裁剪建设文献django_project/settings.py,找到ALLOWED_HOSTS属性修改成如下值

ALLOWED_HOSTS = ["*"]

启动django就业

输入指示 python manage.py runserver 0.0.0.0:8080 来启动django 就业,

防范8080 端口需要再安全组进口标的怒放

着力展示

浏览器中输入彀址http://<公网IP>:8080探听上述就业

建设环境

裁剪django_project/settings.py文献,改写成如下内容

AUTH_PASSWORD_VALIDATORS = [

<{p> 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',

}插死他综合网,

<{p> 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',

},

<{p> 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',

},

<{p> 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',

},

]

# Internationalization

# https://docs.djangoproject.com/en/4.2/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_TZ = True

# Static files (CSS, JavaScript, Images)

# https://docs.djangoproject.com/en/4.2/howto/static-files/

STATIC_URL = 'static/'

# Default primary key field type

# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

127,1 Bot

保存文献之后 输入指示 sudo python manage.py collectstatic采集统共静态文献

此时不错通过ll 来搜检目次 ,目次中会多出一个static的文献,如下图所示

接下来建设建设nginx

输入指示 vim /etc/nginx/nginx.conf 怒放 nginx.conf 文献找到http属性,新增以下内容

upstream django <{p> server 127.0.0.1:8080

}

找到http内的server属性,将其修改成以下属性

server <{p> listen 80;

server_name django_project;

charset utf-8;

location /static <{p> autoindex on;

alias /root/django_project/static;

}

麻豆 女同

location / <{p> uwsgi_pass 127.0.0.1:8080;

include uwsgi_params;

include /etc/nginx/uwsgi_params;

uwsgi_param UWSGI_SCRIPT iCourse.wsgi;

uwsgi_param UWSGI_CHDIR /iCourse;

index index.html index.htm;

client_max_body_size 35m;

index index.html index.htm;

}

最终修改后文献如下:

keepalive_timeout 65;

types_hash_max_size 4096;

include /etc/nginx/mime.types;

default_type application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.

# See http://nginx.org/en/docs/ngx_core_module.html#include

# for more information.

include /etc/nginx/conf.d/*.conf;

server <{p> listen 80;

server_name django_project;

charset utf-8;

location /static <{p> autoindex on;

alias /root/django_project/static;

}

location / <{p> uwsgi_pass 127.0.0.1:8080;

include uwsgi_params;

include /etc/nginx/uwsgi_params;

uwsgi_param UWSGI_SCRIPT iCourse.wsgi;

uwsgi_param UWSGI_CHDIR /iCourse;

index index.html index.htm;

client_max_body_size 35m;

index index.html index.htm;

}

# Settings for a TLS enabled server.

#

# server <{p># listen 443 ssl http2;

# listen [::]:443 ssl http2;

# server_name _;

# root /usr/share/nginx/html;

#

48,1 58%

新建uwsgi_config.ini文献, 并输入以下内容

[uwsgi]

socket = 127.0.0.1:8080 #此处的8080端口需要和nginx建设文献中界说的uwsgi_pass端口一致

chdir = /pyWorker/django_project/ #指定神气目次,本示例中为/pyWorker/django_project/,字据神气修改

wsgi-file = django_project/wsgi.py #指定Django's wsgi file文献,字据神气修改

processes = 4 #最大职责程度

threads = 2 #每个职责程度processes启动后开启的线程个数

vacuum = true #环境退出时自动计帐

buffer-size = 65536 #竖立用于uwsgi包说明的里面缓存区大小为64k,默许是4k

上述内容建设完成后通过指示ystemctl restart nginx重启Nginx ,

在神气目次引申号令uwsgi --ini uwsgi_config.ini,启动uWSGI

此时再次在浏览器中输入http://<公网IP>,探听关系Django页面,着力如下

记忆

本文深化磋商了如安在华为云EulerOS操作系统上,期骗Flexus X实例高效快速地部署Django就业。通过详备的分析和实质操作才气插死他综合网,著述展示了华为云平台重大的兼容性和Flexus X实例的高性能,为开导者提供了一条高效、方便的Django部署之路。践诺解释,华为云EulerOS与Flexus X实例的齐备会通,不仅大幅补助了开导着力,还为企业从简了本钱,为云计较领域的发展提供了有劲撑持。

发布于:河北省