在nginx 上面部署flask

By Heanny
2019-8-9
272 read

硬件:树莓派3B+

环境:python3,niginx

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

文件列表:

image.png

安装python3,nginx(全部自带)

pip安装uwsgi和flask

写一个demo (app.py):

image.png

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

image.png

[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)

image.png

server {
        listen       8888;
        server_name  localhost;
        location / {
            include uwsgi_params;
            uwsgi_pass  127.0.0.1:5000;
            }
        }

(添加一个server服务)

重启nginx,

运行脚本

uwsgi --ini uwsgi_conf.ini -d ./log/uwsgi.log

访问8888端口

image.png



查看运行id

运行的时候加上

--pidfile=./log/uwsgi.pid

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

netstat -ap | grep 5000

image.png

杀死:

kill -9 1548



其他

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

ln -s /usr/local/python3.5/bin/uwsgi /usr/bin/uwsgi


注释

[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


linux生成ssh key以及如何查看ssh key
django基于uwsgi在 nginx下运行

Comments

暂无评论,还不快来坐沙发...

Leave a Reply