部署前的准备
将开发环境配置成上线模式
之前我们一直是在开发模式下进行开发。现在项目要上线了,所以我们要将环境切换成生产环境,具体配置如下:
主配置文件切换
1.复制项目同名子目录下的 settings/dev.py 为 settings/pro.py
1 2
| ┌──(leazhi㉿kali-desktop)-[/data/gitlab/python3-django-small_haoke/haoke/haoke] └─$ cp settings/dev.py settings/pro.py
|
2.编辑生产环境配置文件 pro.py , 主要修改如下几个地方:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
...
DEBUG = False ALLOWED_HOSTS = ['*'] ..
CORS_ORIGIN_WHITELIST = ( 'http://127.0.0.1:8000', 'http://127.0.0.1:8001', 'http://127.0.0.1:8080', 'http://192.168.3.200:8000', )
...
|
项目 wsgi.py 的修改
项目同名子目录下的 wsgi.py ,将配置文件指定到生产环境的配置文件:
1 2 3 4 5 6 7
| import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'haoke.settings.pro')
application = get_wsgi_application()
|
将 django 项目静态文件统一生成
1.编辑项目主配置文件 settings/dev.py,在该文件中添加如下配置:
1
| STATIC_ROOT = os.path.join(os.path.dirname(os.path.dirname(BASE_DIR)), 'front_edn_pc/static')
|
2.回到项目同名子目录下,执行命令
1
| python manager.py collectstatic
|
nginx 服务安装
该部分安装省略
uwsgi 服务安装
执行命令
项目部署
uwsgi 服务配置
1.在 django 项目目录下新建 uwsgi.ini ,写入如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
socket=192.168.3.254:8002
chdir=/data/gitlab/python3-django-small_haoke/haoke
wsgi-file=haoke/uwsgi.py
processe=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize =uwsgi.log
virtualenv=
buffer-size=65536
|
2.启动 uwsgi 服务器,在 uwsgi.ini 目录下执行
nginx 服务配置i
修改 nginx 主配置文件,注释掉该文件中的 server 段配置,然后将在 http 段配置的最后一行添加 include /etc/nginx/conf.d/*.conf;
创建项目前段访问配置
在nginx 新建的 conf.d 目录下创建 haoke_frontend.conf 文件,配置内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| server { listen 8000;
server_name _;
location / { root /data/gitlab/python3-django-small_haoke/front_end_pc; index index.htm index.html; add_header Access-Control-Allow-Origin *; add_header 'Access-Control-Allow-Header' 'Content-Type, *'; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS"; }
location ~.*(js|css|png|gif|jpg|mp4|ogg)$ { root /data/gitlab/python3-django-small_haoke/front_end_pc }
error_page 500 502 503 504 /50x.html;
location = /50x.html { root html; } }
|
创建项目后端访问配置
在 nginx 新建的 conf.d 目录下创建 haoke_backend.conf 文件,配置内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| upstream backend { server 192.168.3.254:8002; }
server { listen 8001;
server_name _;
location / { include uwsgi_params; uwsgi_pass backend; }
location /static/ { alias /data/gitlab/python3-django-small_haoke/front_end_pc/static; } }
|