uwsgi配置
uwsgi安装
安装uwsgi
pip install uwsgi
启动uwsgi
uwsgin --ini uwsgi.ini # 后台启动 nohup uwsgi --ini uwsgi.ini &
uwsgi配置
[uwsgi] # 是否作为主进程 master = true # 启动uwsgi的端口号,非项目端口, http=:8080 # 坑:这里用http可以直接用外网访问,如果要用nginx代理则需要改成socket # 项目目录 chdir = /home/paul/tb_commodity/ # 启动文件 wsgi-file=/home/paul/tb_commodity/manage.py # 实例Flask对象的app名如果是(all_app)则写callable=all_app callable=app # 进程数 processes=4 # 线程数 threads=2 buffer-size = 65536 vacuum=true # pid存储的路径 pidfile =./uwsgi.pid # python环境 home=/home/paul/virtual_env/tb_commodity_env/ # 启动文件名,如果是app则写app module=manage
nginx安装部署
nginx安装
配置EPEL源
sudo yum install -y epel-release sudo yum -y update
安装Nginx
yum install -y nginx
启动Nginx
systemctl start nginx
停止nginx
systemctl stop nginx
重启nginx
systemctl restart nginx
查看nginx状态
systemctl status nginx
禁止开机启动nginx
systemctl disable nginx
nginx配置
# flask项目 server { # 监听你外网访问的端口号 listen 80; # 配置域名或者ip server_name 121.199.68.77; location /{ include uwsgi_params; # 转发到那个地址,转发到uwgi的地址,在通过uwsgi来启动我们的项目 uwsgi_pass 0.0.0.0:8999; uwsgi_connect_timeout 60; } }
坑
uwsgi配置中的坑
1.如果要看uwsgi启动没有,可以用用命令netstat -anp|grep 端口号
来查看,这里的端口号,不是你项目中的端口号,而是你在uwsgi中配置的端口号
2.uwsgi中,如果你用的是http=:8080
则可以通过外网直接来访问,但是用nginx代理会报错,我报的错误是504
和502
,而如果要用nginx来反向代理的话需要改成socket=:8080
,但是改成socket后,直接访问uwsgi访问不了。(个人碰到比较坑的地方)
3.如果是云服务器,一定不要忘记安全组要放行端口,刚开始就是直接启动服务,怎么都访问不了。能ping通ip的话,端口访问不了,就从服务器控制台-安全组,防火墙,SElinux来排查。
技术支持
安装nginx技术支持:https://yq.aliyun.com/articles/699966