Django部署步骤简述
安装一些东西看这个教程: https://blog.csdn.net/u011798443/article/details/80881931
明白总体思路:
1.nginx里面进行配置,将动态请求转发给uwsgi,uwsgi将请求给django,django进行处理之后再返回。
2.静态请求直接去访问指定的路径就可以了,不需要再交给uwsgi。
如下:(先把需要的东西都安装了)
uwsgi的配置:
web根目录下的:myvuesite.ini
# myweb_uwsgi.ini file
[uwsgi]
# Django-related settings
socket = :8000
# the base directory (full path)
chdir = /data/wwwroot/myvuesite
# Django s wsgi file
module = mysite.wsgi
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true之后
之后运行
uwsgi --ini myvuesite.ini
即可在本地8000端口启动django服务。
nginx里面进行配置, server如下,动态请求转发到本地8000端口,静态请求转发到vue打包之后的dist/static目录
server {
listen 8080;
server_name 127.0.0.1;
#charset koi8-r;
#access_log logs/host.access.log main;
charset utf-8;
location / {
# nginx转发动态请求到uWSGI
include uwsgi_params;
uwsgi_connect_timeout 100;
uwsgi_pass 127.0.0.1:8000;
}
# 如果写成/static/,nginx无法找到项目静态文件路径
location /static {
alias /data/wwwroot/myvuesite/dist/static;
}
}
配置完成之后
./nginx 启动
./nginx -s stop 停止
./nginx -s reload 重启
项目目录结构如下
django版本?2.1会提示mysqlclident版本问题,修改源码即可。
另外如果提示mysqlclient没有安装,初始的app的__init__添加
import pymysql
pymysql.install_as_MySQLdb()
另外记录几个linux命令:
https://blog.csdn.net/mameng1988/article/details/84495462