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代理会报错,我报的错误是504502,而如果要用nginx来反向代理的话需要改成socket=:8080,但是改成socket后,直接访问uwsgi访问不了。(个人碰到比较坑的地方)

3.如果是云服务器,一定不要忘记安全组要放行端口,刚开始就是直接启动服务,怎么都访问不了。能ping通ip的话,端口访问不了,就从服务器控制台-安全组,防火墙,SElinux来排查。

技术支持

安装nginx技术支持:https://yq.aliyun.com/articles/699966

01-11 21:30
查看更多