通过uwsgi与nginx上线项(django,flask,drf)

开篇说明:此博客不介绍怎么安装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文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值