赞
踩
在实战中,Nginx与uWSGI搭配使用是一种常见的方式,用于高性能部署基于Python的Web应用,尤其是Django或Flask这类框架的应用。下面是一步一步的实战配置过程:
安装Python3环境:
# 以CentOS为例
sudo yum install -y python3 python3-devel
安装pip3:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
安装uWSGI:
pip3 install uwsgi
安装Django或其他Python Web框架:
pip3 install django
创建uWSGI配置文件,例如myproject_uwsgi.ini
,内容可能包括:
[uwsgi]
# Django项目的绝对路径
chdir = /path/to/myproject
# Django settings模块
module = myproject.wsgi:application
master = true
processes = 4
threads = 2
socket = 127.0.0.1:3031
chmod-socket = 660
vacuum = true
die-on-term = true
uid = www-data # 根据实际情况设置运行uWSGI的用户
gid = www-data # 根据实际情况设置运行uWSGI的组
启动uWSGI服务并测试运行情况:
uwsgi --ini myproject_uwsgi.ini
在Nginx配置文件中(通常是/etc/nginx/nginx.conf
或/etc/nginx/conf.d/myproject.conf
)添加一个server区块来代理uWSGI服务:
server {
listen 80; # 或者监听443端口以启用HTTPS
server_name example.com; # 你的域名
location / {
include uwsgi_params; # 加载包含通用uwsgi参数的文件
uwsgi_pass 127.0.0.1:3031; # uWSGI监听的地址和端口
}
# 静态文件处理(可选)
location /static/ {
alias /path/to/static/files/;
expires 30d;
}
}
nginx -t
systemctl restart nginx
现在,当你访问example.com
时,Nginx会将请求转发给uWSGI服务器,uWSGI再将请求传递给Python/Django应用进行处理,然后将响应通过Nginx返回给客户端。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。