说明:ubuntu-18.04、nginx-1.14.2、uWSGI 2.0.18、Djnago2.1.5、python3.6.7
1、安装uwsgi,在虚拟开发环境中运行就安装到虚拟开发环境中,否则安装本地就行 :pip install uwsgi --user
2、安装nginx:sudo apt install nginx -y
3、在项目根目录新建ini文件,比如uwsgi.ini,内容如下
[uwsgi]
socket=127.0.0.1:8000 // 内部使用接口8000
chdir=/path/to/your/project // 项目根目录
wsgi-file=project/wsgi.py // 相对于根目录的wsgi.py文件所在目录
processes=4 // 设置进程数
threads=2 // 设置线程数
master=True // 主进程
pidfile=uwsgi.pid // 记录uwsgi进程,设置后该文件自动创建
daemonize=uswgi.log // 记录运行日志,设置后该文件自动创建
- 启动:uwsgi --ini uwsgi.ini
- 停止:uwsgi --stop uwsgi.pid
- 重启:uwsgi --reload uwsgi.pid
- 查看:ps aux|grep uwsgi
- 使用http协议查看网站运行情况,运行正常,但是静态文件无法加载
4.1、修改 /etc/nginx/nginx.conf 文件
sudo gedit /etc/nginx/nginx.conf
在http下添加
server {
listen 80; # 监听端口
server_name 192.168.238.129; # 对外ip地址
location / { # 接收请求后转向uwsgi
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; # 必须与uwsgi.ini中的一样
}
location /static {
alias /path/to/your/project/static; # 项目静态文件目录
}
}
4.2、或者修改 /etc/nginx/sites-enabled/default 文件
因为 /etc/nginx/nginx.conf 中默认没有 server{} ,但它引用了两个目录:
include /etc/nginx/conf.d/*.conf; # 此目录为空
include /etc/nginx/sites-enabled/*; # 其中只有一个文件,实际上是/etc/nginx/sites-available/default的快捷方式
default 文件中有 server{} ,把以上配置填写在该文件中也是可以的,其中 uwsgi_params 文件的路径需要更改。
sudo gedit /etc/nginx/sites-enabled/default
在server下添加
listen 80; # 监听端口
server_name 192.168.238.129; # 对外ip地址
location / { # 接收请求后转向uwsgi
include /etc/nginx/uwsgi_params; # 该文件与default不同级,需指出路径
uwsgi_pass 127.0.0.1:8000; # 必须与uwsgi.ini中的一样
}
location /static {
alias /path/to/your/project/static; # 项目静态文件目录
}
- 查看版本:sudo nginx -v
- 启动:sudo nginx
- 停止:sudo nginx -s stop
- 重启:sudo nginx -s reload
- 查看:ps aux|grep nginx
5、启动uwsgi和nginx
如果用的是虚拟开发环境,需要先启动虚拟开发环境,然后输入以下命令,否则直接输入就行了。
uwsgi --ini /path/to/uwsgi.ini
sudo nginx
2960

被折叠的 条评论
为什么被折叠?



