开篇说明:此博客不介绍怎么安装nginx与uwsgi,只说明两个配置文件为什么这么配置
django版本
uwsgi(以下的uwsgi为二选一,两者皆可)
uwsgi.xml
<uwsgi>
<socket>127.0.0.1:8808</socket> <!-- 自定义内部端口 -->
<chdir>/home/project1/Mybbsone</chdir> <!-- 项目路径 -->
<module>Mybbsone.wsgi</module> <!-- xxx.wsgi,xxx为项目的目录(此为启动文件)-->
<processes>4</processes> <!-- 进程数(创建四个worker) -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件(表示保存到当前目录的uwsgi.log) -->
</uwsgi>
uwsgi.ini
[uwsgi]
socket = 127.0.0.1:8808 <!-- 自定义内部端口 -->
chdir = /home/project1/Mybbsone <!-- 项目路径 -->
module = Mybbsone.wsgi <!-- xxx.wsgi,xxx为项目的目录(此为启动文件)-->
processes = 4 <!-- 进程数(创建四个worker) -->
daemonize = uwsgi.log <!-- 日志文件(表示保存到当前目录的uwsgi.log) -->
nginx
http{
listen 80 <!-- 监听端口 -->
server_name xxxx <!-- 表示名(最好为自己的域名,无域名则为127.0.0.1)(可以百度一下listen与server_name的区别) -->
location / { <!-- 监听到开始路由跳转 -->
include uwsgi_params <!-- 跳转内容 -->
uwsgi_pass 127.0.0.1:8808 <!-- 跳转ip与port(无法确定就与uwsgi里的内部端口相同) -->
uwsgi_param UWSGI_SCRIPT bbsapi.wsgi <!-- 启动文件(无法确定就与uwsgi里的module相同) -->
uwsgi_param UWSGI_CHDIR /home/project1/Mybbsone <!-- 跳转路径(无法确定就与uwsgi里的chdir相同) -->
}
location /static { <!-- 静态文件加载目录(有就写,没有就不写) -->
alias /home/project1/Mybbsone/static <!-- 静态文件目录 -->
}
}
flask版本
uwsgi(以下的uwsgi为二选一,两者皆可)
uwsgi.ini
[uwsgi]
socket = 127.0.0.1:5001 <!-- 内部自定义端口 -->
pythonpath = /home/workhome/ <!-- 项目路径 -->
module = app <!-- 这里目前不知道有什么用(如果有知道请务必私信告诉我) -->
wsgi-file = /home/workhome/app.py <!-- 启动文件 -->
callable = app <!-- 项目需要调用的启动类 -->
processes = 4 <!-- 进程数 -->
daemonize = /home/workhome/log.txt <!-- 日志保存目录 -->
uwsgi.ini
略
nginx
http {
server {
listen 5000; <!-- 监听端口 -->
server_name xxxx; <!-- 标识名字 -->
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5001; <!-- 跳转ip与port(无法确定就与uwsgi里的内部端口相同) -->
uwsgi_param UWSGI_CHDIR /home/workhome/; <!-- 项目目录(无法确定就与uwsgi里的chdir相同) -->
uwsgi_param UWSGI_SCRIPT app:app; <!-- 这里目前不知道有什么用(如果有知道请务必私信告诉我) -->
}
}
}
drf版本
uwsgi
uwsgi与django相同,请参考django的uwsgi
nginx
http {
server {
listen 80; <!-- 前端监听端口 -->
server_name xxxx; <!-- 标识名字 -->
charset utf-8;
location / {
root /home/html; <!-- 前端打包后的目录名 -->
index index.html; <!-- 初始页(默认写index.html) -->
try_files $uri $uri/ /index.html; <!-- 解决单页面应用刷新404问题 -->
}
}
server {
listen 8000; <!-- 后端监听端口 -->
server_name xxxx; <!-- 标识名字 -->
charset utf-8;
location / {
include uwsgi_params; <!-- 跳转内容 -->
uwsgi_pass 127.0.0.1:8808; <!-- 跳转ip与port(无法确定就与uwsgi里的内部端口相同) -->
uwsgi_param UWSGI_SCRIPT luffyapi.wsgi; <!-- 启动文件(无法确定就与uwsgi里的module相同) -->
uwsgi_param UWSGI_CHDIR /home/project1/test_ku_of_yhwu/luffyapi/; <!-- 跳转路径(无法确定就与uwsgi里的chdir相同) -->
}
location /static { <!-- 静态文件加载目录(有就写,没有就不写) -->
alias /home/project1/test_ku_of_yhwu/luffyapi/luffyapi/static; <!-- 静态文件目录 -->
}
}
}
附:
常用的nginx与uwsgi命令
nginx 启动默认nginx文件(默认文件为nginx.conf)
nginx -c nginx.conf 启动指定nginx文件
nginx -s reload 重启当前nginx文件
nginx -s stop 停止当前nginx文件
pkill -f uwsgi -9 停止当前uwsgi文件
uwsgi -x xxx.xml 启动uwsgi.xml文件
uwsgi xxx.ini 启动uwsgi.ini文件