1.1 settings.py中更改

STATIC_ROOT = os.path.join(BASE_DIR, 'static/dist') # 导入前后端静态资源后更改即可 DEBUG = True # 为True不容易暴露项目信息,当然也不显示BUG信息 ALLOWED_HOSTS = ['*']
1.2 django端打包静态资源

# 会在static 下生成 python manage.py collectstatic
1.3 在uwsgi_conf中写入uwsgi.ini

# vim /root/shiyanlou_project/uwsgi_conf/uwsgi.ini # vim中,A键进入插入模式,ESC退出,:wq保存并退出 # 或者pycharm中直接粘贴也可以 [uwsgi] # 使用Nginx连接时使用,Django程序所在服务器地址和端口号 socket=127.0.0.1:8000 # 项目目录绝对路径 chdir=/home/worker/opwf_project/opwf # 项目中wsgi.py文件的目录,相对于项目目录 wsgi-file=opwf/wsgi.py # 进程数(机器核数的1倍) processes=4 # 线程数 threads=20 # uwsgi服务器的角色 master=True # 存放进程编号的文件 pidfile=uwsgi.pid # 日志文件 daemonize=uwsgi.log # 指定依赖的虚拟环境 virtualenv=/root/.virtualenvs/syl
2 打包Vue静态资源
2.1 打包命令
cnpm run build
2.2 提取dist静态资源
-
将静态资源放置后端static下
3 Nginx写入配置文件
-
写入etc/nginx/conf.d/django.conf

server { listen 1594; server_name 192.168.56.100; location /static { alias /home/worker/opwf_project/opwf/static; } location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; uwsgi_ignore_client_abort on; } } server { listen 8888; server_name 192.168.56.100; #access_log logs/access_example.log main; root /home/worker/opwf_project/opwf/static/dist; location / { try_files $uri $uri/ @router; } location @router { rewrite ^.*$ /index.html last; } }
4 Nginx启动

systemctl restart nginx # 开启nginx tail -f /var/log/nginx/access.log # 查看nginx接入日志 tail -f /var/log/nginx/error.log # 查看nginx错误日志
5 uWSGI启动

cd /home/worker/opwf_project/uwsgi_conf # 进入项目目录 uwsgi --ini uwsgi.ini # 启动uwsgi的 django项目 # http://192.168.56.11:8888/ 访问项目 uwsgi --stop uwsgi.pid # 关闭uwsgi tail -f uwsgi.log # 查看uwsgi日志 ps -ef|grep uwsgi # 查看uwsgi服务是否启动 netstat -anptu | grep 8888 # 查看8888端口被哪一个程序 占用 kill -9 端口号
6 杂项
""" 如果之前有过部署的项目 只是删除原来的 django.conf 是不够的 nginx部署的时候会生成一个.django.conf.swp 的文件 切记一并删除 """