uwsgi是一个遵循wsgi协议的web服务器。
image.png
image.png
image.png
1.uwsgi服务器的安装
pip install uwsgi==2.0.15
2.uwsgi服务器的配置
[uwsgi]
#使用nginx连接时使用
#socket=127.0.0.1:8080
#直接做web服务器使用
http=127.0.0.1:8080
#项目目录
chdir=/Users/smart/Desktop/dj/bj17/项目名
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=项目名/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
virtualenv=/Users/smart/.virtualenvs/虚拟环境名
3.uwsgi服务器的启动和停止
启动:uwsgi –-ini 配置文件路径 例如:uwsgi –-ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid路径 例如:uwsgi –-stop uwsgi.pid
nginx
1.nginx配置转发请求给uwsgi
location / {
include uwsgi_params;
uwsgi_pass uwsgi服务器的ip:port;
}
2.nginx配置处理静态文件
1)django settings.py中配置收集静态文件路径:
STATIC_ROOT='收集的静态文件路径'
例如:STATIC_ROOT='/var/www/项目名/static'
2)在终端中执行django收集静态文件的命令:
python manage.py collectstatic
执行上面的命令会把项目中所使用的静态文件收集到STATIC_ROOT指定的目录下。
3)在nginx配置文件中添加如下内容:
location /static {
alias /var/www/项目名/static/;
}
3.nginx转发请求给另外地址
在location 对应的配置项中增加 proxy_pass 转发的服务器地址。
如当用户访问127.0.0.1时,在nginx中配置把这个请求转发给172.16.179.131:80(nginx)服务器,
让172.16.179.131:80服务器提供静态首页。
配置如下:
location = / {
proxy_pass http://172.16.179.131;
}
4.nginx配置upstream实现负载均衡
ngnix 配置负载均衡时,在server配置的前面增加upstream配置项。
upstream 项目名 {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
修改nginx中的location /配置项:
location / {
include uwsgi_params;
# uwsgi_pass uwsgi服务器的ip:port;
uwsgi_pass 项目名;
}
网友评论