在nginx 上面部署flask

2022-08-05 20:47:59 浏览数 (1)

硬件:树莓派3B

环境:python3,niginx

目录:root@Pi89757:/home/pi/Documents/web#

文件列表:

安装python3,nginx(全部自带)

pip安装uwsgi和flask

代码语言:javascript复制
apt(yum) install python-devel
pip3 install uwsgi flask

写一个demo (app.py):

然后写一个配置文件( uwsgi_conf.ini)

代码语言:javascript复制
[uwsgi]
#监听端口
socket = 127.0.0.1:5000
#进程
processes = 1
#线程
threads = 1
master = true
#项目路径
pythonpath = /home/pi/Documents/web
#项目名称
module = run
#回调
callable = app
#开启内存使用情况报告
memory-report = true
#自动更新
py-autoreload = 1

(module为文件名)

编辑nginx配置文件(vim /etc/nginx/sites-available/default)

代码语言:javascript复制
server {
        listen       8888;
        server_name  localhost;
        location / {
            include uwsgi_params;
            uwsgi_pass  127.0.0.1:5000;
            }
        }

(添加一个server服务)

重启nginx,

运行脚本

代码语言:javascript复制
uwsgi --ini uwsgi_conf.ini -d ./log/uwsgi.log

访问8888端口

查看运行id

运行的时候加上

代码语言:javascript复制
--pidfile=./log/uwsgi.pid

可在文件查看运行pid是多少

代码语言:javascript复制
netstat -ap | grep 5000

杀死:

代码语言:javascript复制
kill -9 1548

其他

部分系统显示无uwsgi命令,做软链即可

代码语言:javascript复制
ln -s /usr/local/python3.5/bin/uwsgi /usr/bin/uwsgi

注释

代码语言:javascript复制
[uwsgi]
# 通过uwsgi访问django需要配置成http
# 通过nginx请求uwsgi来访问django 需要配置成socket
# 9000 是django的端口号
socket = :8000
# web项目根目录
chdir = /home/centostest
# module指定项目自带的的wsgi配置文件位置
module = centostest.wsgi
# 允许存在主进程
master = true
# 开启进程数量
processes = 3
# 服务器退出时自动清理环境
vacuum = true
#pidfile : 指定pid文件的位置,记录主进程的pid号。   (生成pid文件,以便stop uwsgi)
pidfile =pid.uwsgi
#使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。(肯定要启用,要不刷屏!!)
daemonize = UWSGI.log
更多见:https://blog.csdn.net/kevin6216/article/details/15378617

0 人点赞