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.pyapp
指的是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:进程编号>
访问
版权声明:本文为cnhyk原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。