Loading

Gunicorn+Nginx+Flask项目部署

安装python3.6

1)前往用户根目录
>: cd ~

2)下载 或 上传 Python3.6.7
>: wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
>: scp -r 本地Python-3.6.7.tar.xz ssh root@39.98.154.56:服务器路径
>: scp -r C:\Users\dell\Desktop\pkg\Python-3.6.7.tar.xz ssh root@339.98.154.56~

3)解压安装包
>: tar -xf Python-3.6.7.tar.xz

4)进入目标文件
>: cd Python-3.6.7

5)配置安装路径:/usr/local/python3
>: ./configure --prefix=/usr/local/python3

6)编译并安装
>: make && sudo make install

7)建立软连接:终端命令 python3,pip3
>: ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
>: ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

8)删除安装包与文件:
>: rm -rf Python-3.6.7
>: rm -rf Python-3.6.7.tar.xz

安装gunicorn

pip3 install gunicorn

启动gunicorn

-w代表开启几个进程运行
-b指明把当前服务器绑定到那个IP上
--acess-logfile指定记录用户访问信息的文件
mian指的是启动文件main.py
app指的是main.py中的app
-D以守护进程的方式运行,将程序放在后台运行(只能使用kill命令杀死gunicorn)。

gunicorn -w 4 -b 127.0.0.1:5000 --access-logfile -D ./logs/gunicorn_log main:app

安装nginx

1)前往用户根目录
>: cd ~

2)下载nginx1.13.7
>: wget http://nginx.org/download/nginx-1.13.7.tar.gz

3)解压安装包
>: tar -xf nginx-1.13.7.tar.gz

4)进入目标文件
>: cd nginx-1.13.7

5)配置安装路径:/usr/local/nginx
>: ./configure --prefix=/usr/local/nginx

6)编译并安装
>: make && sudo make install

7)建立软连接:终端命令 nginx
>: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

8)删除安装包与文件:
>: rm -rf nginx-1.13.7
>: rm -rf nginx-1.13.7.tar.xz

9)测试Nginx环境,服务器运行nginx,本地访问服务器ip
>: nginx
>: 服务器绑定的域名 或 ip:80

nginx配置

# 如果有多台服务器的话,可以使用upstream
# flask是组名,可以写其他的
upstream flask {
    server 10.211.55.2:5000;
    server 10.211.55.2:5001;
}

server {
    listen       80;
    server_name  localhost;  # 改为自己的域名,如果没有域名就修改为127.0.0.1
    
    # charset koi8-r;
    
    # access_log  logs/host.access.log  main;
    
    location / {
        proxy_pass http://10.211.55.2:5000;  # 此处可以写单个主机信息(前面的gunicorn启动的ip地址),也可以写upstream的组名。
        # proxy_pass http://flask;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

启动nginx

1)启动
>: nginx

2)关闭nginx
>: nginx -s stop

3)重启nginx
>: nginx -s reload

4)查看端口,强行关闭
>: ps -aux|grep nginx
>: kill <pid:进程编号>

访问

posted @ 2020-05-24 21:13  开花的马铃薯  阅读(472)  评论(0编辑  收藏  举报