1. 阿里云服务器
请参考以下博文操作
2. 下载xshell、xftp
请参考以下博文操作
3. 安装mysql8.0
请参考以下博文操作
4. 安装python flask + uwsgi
这一步骤的完全过程可以借鉴下面这个视频教程,如果是新手,建议按照他的步骤安装实现
不过在安装过程中我出现了一些问题,这里我写出自己遇到的问题,如果各位遇到的不是这些问题,可以百度解决
pip install uwsgi
时出错,自我理解应该gcc
版本问题,网上搜索了很多方法都没法实现,最后在菜鸟教程的《Python uWSGI 安装配置》中找到解决方法,我是通过源码安装解决的
wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd uwsgi-latest
make
- 视频教程在添加5000端口使用的命令是
sudo firewall-cmd --premanent --add-port=5000/tcp
如果没有实现端口添加的话,需要进入云服务器控制台
在安全组
中自行添加 - 视频教程在使用uwsgi启动flask程序时,使用的命令是
uwsgi --socket 0.0.0.0:5000 --protocol=http -w mywsgi
,但是这样访问网址提示Internal Server Error
,根据uWSGI官网的教程,应该是uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app
- 当然,后面的代码也要改,以下是我实现的代码
run.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World"
if __name__ == "__main__":
app.run(host='0.0.0.0')
mywsgi.py
from run import app
if __name__ == "__main__":
app.run()
mywsgi.ini
[uwsgi]
#uwsgi启动时,所使用的地址和端口(这个是http协议的)
http=0.0.0.0:5000
#uwsgi 启动时所使用的地址与端口(这个是socke协议)
socket=127.0.0.1:8000
#指向网站目录
chdir=/root/deployTest
#python 启动程序文件
wsgi-file=mywsgi.py
#python 程序内用以启动的application 变量名
callable=app
#处理器数
processes=4
#线程数
threads=2
#状态检测地址
stats=127.0.0.1:9191
以上是我对在练习部署flask项目时的总结,希望能帮到您,如果有问题请留言,能帮到我会知无不言
以下是其他大佬的安装经验,可以参考参考
5. nginx+uwsgi配置https服务
以下展示我设置成功的配置
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name zczntg.online; # 域名
ssl_certificate /etc/nginx/1_zczntg.online_bundle.crt; # crt文件路径
ssl_certificate_key /etc/nginx/2_zczntg.online.key; # key文件路径
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
uwsgi_pass 127.0.0.1:8000; # 索引到上面uwsgi ini文件中定义的socket协议
include uwsgi_params;
}
}