硬件:树莓派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