问题:
- 当我们部署完Nginx静态数据后,发现动态业务无法访问。
原因:
- Nginx服务器无法找到美多商城服务器。
解决:
- 部署美多商城服务器,并使用Nginx反向代理
部署服务器
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
包
- Django的程序通常使用
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
部署Nginx服务器反向代理
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。