利用宝塔搭建nginx+uwsgi+flask的web服务器(阿里云centos_7系统)
一、首先利用ssh连接服务器,安装宝塔面板,或者阿里云远程连接:
收入命令安装宝塔:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh (宝塔安装命令,在宝塔官网可以找到,这个版本是centos7的,其他系统请自行查找)运行命令后等待安装完成,后会获取一个登陆面板的地址和账号密码:
然后再浏览器中输入 139.224.133.17:8888/ca0947c3 进入宝塔管理界面,输入账号密码,进入面板,根据自己的需要选择要安装的服务器软件:
等待安装。然后此时可以去面板设置更改面板的端口,安全入口,用户名及密码
安装完成后在软件商店里安装的软件打开,如: 点击开关即可
然后首页选择ssh终端
安装uwgsi模块,输入命令 pip install uwsgi 即可(同样的方法安装flask模块:pip install flask)
二、环境布置好了后,开始搭建网站
此时网站已经搭建成功,可以使用刚刚的域名进行访问
使用pycharm搭建flask,创建flask项目,会自动生成一个app.py文件。
app.py
from flask import Flask
app = Flask(name)
@app.route(’/’)
def hello_world():
return ‘Hello World!’
if name == ‘main’:
app.run()
然后自己再创建一个run.py
run.py
from app import app
if name == “main”:
app.run()
此flask已经部署完成
三、uwsgi.ini配置文件在项目目录下(跟app.py , run.py同一文件夹)创建一个记事本文件,输入uwsgi配置
uwsgi.ini内容如下:
[uwsgi]
#module flask的特殊写法,模块:变量 (run:app)
module = run:app
master = true
#进程数
processes = 3
#chdir是项目路径地址
chdir = /www/wwwroot/accepted.fun
#保存socket信息
socket = /www/wwwroot/accepted.fun/myflask.sock
#指定暴露的ip及端口
socket = 127.0.0.1:5000
#保存日志
logto = /www/wwwroot/accepted.fun/myflask.log
chmod-socket = 660
vacuum = true
以上都是配置内容,带#的是注释,可以删掉,可以保留,也可以自己添加,但是不要在配置的后面添加注释,要在上一行或者下一行写注释,否则会引发一些问题。保存记事本后记得将后缀.txt改成.ini
然后开始将项目上传到网站目录里(注意项目路径)
进入目录,上传文件run,py , app.py 和uwsgi.ini
然后进入使用ssh,输入命令启动uwsgi
uwsgi --ini /www/wwwroot/accepted.fun/uwsgi.ini &
可以通过查看端口号来查看uwsgi是否已经启动
netstat -anp|grep 5000
四、配置nginx
打开配置文件
找到location,在第一个location的后面添加location
添加反向代理(注意uwsgi_pass后面的地址一定要跟uwsgi.ini配置文件里的socket地址一致):
location /
{
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
}
此时反向代理已经完成,所有配置均部署成功。可以通过域名进行访问了
大功告成!
(注意此域名已经在阿里云上就行了域名解析了,所有域名的使用必须先解析才行,没有域名就使用ip)
附
uwsgi 关闭命令:
pkill -f uwsgi -9
参考:https://www.missshi.cn/api/view/blog/5b1511a213d85b1251000000