1、python 安装链接:
安装python
2、可以选择 创建虚拟环境来配置项目
Python
3、安装 uwsgi
pip install uwsgi
4、项目创建 uwsgi.ini 文件: 文件内容
[uwsgi]
;http=0.0.0.0:5001 # http 是配置uwsgi 不配置nginx,配置好了之后可以在项目里 python3 + 启动文件 服务器IP + 端口 访问项目,可以用来测试项目是否正常运行,然后在配置 nginx
socket=0.0.0.0:5001 # socket 这个是用来配置nginx的
#socket协议,用于和nginx通讯,端口可配置成别的端口;如果有nginx在uwsgi之前作为代理的话应该配socket 如:socket=0.0.0.0:5000,
#而如果客户端请求不经过(不搭建)Nginx代理服务器,服务请求直接到uwsgi服务器的话那么就配http。如:http=0.0.0.0:5000;IP和端口与项目启动文件app.py中一致; 127.0.0.1虽然是表示本地IP,但想要在网络上访问必须设置host=0.0.0.0才不受IP限制
#项目目录,定位到项目的第一层,具体配置根据实际目录情况而定,如项目名称为crawl_flask
chdir=/home/crawl_flask/
#项目启动文件,实际也可能不是这个命名(需要带上文件路径,视具体目录情况而定)
wsgi-file=/home/crawl_flask/main.py # 项目启动文件
static-map = /static=/home/crawl_flask/static/ # 项目静态资源
#程序内的application变量名,也即执行run方法的那个实例的名称
callable=app
#启动主进程,来管理其他进程,其它的uwsgi进程都是这个master进程的子进程,如果kill这个master进程,相当于重启所有的uwsgi进程。
master=true
#进程数
processes=4
#每个进程中线程数
threads=10
#使进程在后台运行,并将日志打到指定的日志文件,文件若不存在则会自动创建
daemonize=uwsgi.log
#不记录请求信息的日志,只记录错误以及uWSGI内部消息到日志中。如果不开启这项,日志中会大量请求记录:
disable-logging=true
#进程号存储文件,若不存在则会自动创建,pid里面只记录一个进程号,若存在多个进程processes,则使用uwsgi命令通过uwsgi.pid文件停止、重启uwsgi服务不全
pidfile=uwsgi.pid
#设置用于uwsgi包解析的内部缓存区大小为64k,默认是4k。不设置该关键字,请求超过4k就会报错,
buffer-size=65536
#超过时间,单位秒
harakiri=60
# 当服务器退出的时候自动清理环境
vacuum=True
5、配置nginx服务 找到文件 nginx.conf
server {
listen 80; # nginx的监听端口
server_name xx.xxxxxx.com; # 域名
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5001; # 监听成功后请求的ip端口,与uwsgi中socket的IP端口一致
}
location /static {
alias /home/crawl_flask/static; # 静态资源配置
}
}
6、重启 nginx 服务
service nginx restart # 重启
service nginx stop # 停止
service nginx start # 启动
7、uwsgi 服务启动
uwsgi --ini uwsgi.ini # 启动项目 (第一次启动)
uwsgi --reload uwsgi.pid # 重启项目
uwsgi --stop uwsgi.pid # 停止项目
uwsgi --start uwsgi.pid # 启动项目