Django【部署】uwsgi+nginx
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Django【部署】uwsgi+nginx,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1787字,纯文字阅读大概需要3分钟。
内容图文
![Django【部署】uwsgi+nginx](/upload/InfoBanner/zyjiaocheng/1172/129cda55e6fb4db1a1f6bac9c8e2f40e.jpg)
uwsgi
遵循wsgi协议的web服务器
uwsgi的安装
pip install uwsgi
uwsgi的配置
项目部署时,需要把settings.py文件夹下的:
DEBUG = FALSE ALLOWED_HOSTS = [‘*‘]
新建一个文件 uwsgi.ini 在项目目录下与manage.py 同级
[uwsgi] # 使用nginx连接时使用 # socket=127.0.0.1:8080 # 直接做web服务器使用 http=127.0.0.1:8080 #项目目录 chdir=/Users/smart/Desktop/dj/bj17/dailyfresh #项目中wsgi.py文件的目录,相对于项目目录 wsgi-file=dailyfresh/wsgi.py # 指定启动搞得工作进程数 processes=4 # 指定工作进程中线程数 threads=2 master=True # 保存启动之后主进程的pid pidfile=uwsgi.pid # 设置uwsgi后台运行,uwsgi.log保存日志信息 daemonize=uwsgi.log # 设置虚拟环境的路径 virtualenv=/Users/smart/.virtualenvs/dailyfresh
uwsgi 的启动和停止
启动:uwsgi --ini 配置文件路径 例如:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid 路径 例如:uwsgi --stop uwsgi.pid
nginx命令
重新加载命令
nginx - s reload
nginx 配置转发请求给uwsgi
location / { # 包含uwsgi的请求参数 include uwsgi_params; # 转交请求给uwsgi uwsgi_pass uwsgi服务器的ip:port; }
nginx配置处理静态文件
django settings.py中配置收集静态文件路径:
STATIC_ROOT=收集的静态文件路径 例如:/var/www/dailyfresh/static;
django 收集静态文件的命令:
python manage.py collectstatic
执行上面的命令会把项目中所使用的静态文件收集到STATIC_ROOT指定的目录下。
收集完静态文件之后,让nginx提供静态文件,需要在nginx配置文件中增加如下配置:
如果/var/www/dailyfresh/static/ 没有权限 就赋予权限 chmod 777
location /static { # 在/var/www/ 下新建目录dailyfresh/static/# 指定静态文件存放的目录 alias /var/www/dailyfresh/static/; }
nginx转发请求给另外地址
在location 对应的配置项中增加 proxy_pass 转发的服务器地址。
如当用户访问127.0.0.1时,在nginx中配置把这个请求转发给172.16.179.131:80(nginx)服务器,让这台服务器提供静态首页。
配置如下:
# 等号= 表示严格精确匹配
# 传递请求给静态页面服务器的nginx
location = /{ proxy_pass http://172.16.179.131; }
nginx配置upstream实现负载均衡
ngnix 配置负载均衡时,在server配置选项卡的前面增加upstream配置项。
不在server配置选项中。
dailyfresh 名字可以随意
upstream dailyfresh { server 127.0.0.1:8080; server 127.0.0.1:8081; }
然后在server选项中修改为location /为下面
location / { include uwsgi_params; # uwsgi_pass 127.0.0.1:8080; uwsgi_pass dailyfresh; }
原文:https://www.cnblogs.com/tangkaishou/p/10278602.html
内容总结
以上是互联网集市为您收集整理的Django【部署】uwsgi+nginx全部内容,希望文章能够帮你解决Django【部署】uwsgi+nginx所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。