问题:
原因:
解决:
1.准备生产环境配置文件
dev.py
到生产环境配置文件prod.py
,并做修改。# SECURITY WARNING: don‘t run with debug turned on in production! # DEBUG = True DEBUG = False ALLOWED_HOSTS = [‘*‘,]
2.准备生产环境启动文件
meiduo_mall.wsgi.py
启动服务的。os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meiduo_mall.settings.dev")
3.安装uwsgi
包
uwsgi服务器
来运行。$ pip install uwsgi
4.准备uwsgi服务
器配置文件
meiduo_mall.uwsgi.ini
配置文件[uwsgi] # 使用Nginx连接时使用,Django程序所在服务器地址 socket=127.0.0.1:8001 # 直接做web服务器使用,Django程序所在服务器地址 # http=172.16.21.25:8001 # 项目目录 # chdir=项目路径/meiduo_project/meiduo_mall chdir=/Users/meihao/Desktop/project/meiduo_mall # 项目中wsgi.py文件的目录,相对于项目目录 wsgi-file=meiduo_mall/wsgi.py # 进程数 processes=4 # 线程数 threads=2 # uwsgi服务器的角色 master=True # 存放进程编号的文件 pidfile=uwsgi.pid # 日志文件 daemonize=uwsgi.log # 指定依赖的虚拟环境 # virtualenv=/Users/meihao/.virtualenvs/project virtualenv=虚拟环境路径/.virtualenvs/meiduo_mall
5.管理uwsgi服务器
# 启动 $ uwsgi --ini uwsgi.ini # 关闭 $ uwsgi --stop uwsgi.pid
1.修改Nginx服务器配置文件
http { ...... # 美多商城服务器 upstream meiduo { server 127.0.0.1:8001; # 美多商城服务器1 # server 172.16.21.25:8002; # 美多商城服务器2 } server { listen 80; server_name www.meiduo.site; ...... location / { include uwsgi_params; uwsgi_pass meiduo; } } }
2.启动Nginx服务器
# ubuntu: # 检查配置文件 $ sudo /usr/local/nginx/sbin/nginx -t # 重启 sudo /usr/local/nginx/sbin/nginx -s reload # mac: $ sudo /usr/local/bin/nginx -t sudo /usr/local/bin/nginx -s reload
原文:https://www.cnblogs.com/tracydzf/p/13027698.html