Centos云服务器部署python flask + uwsgi + mysql8.0 web服务器并实现开机自启动

1. 阿里云服务器

请参考以下博文操作

阿里云服务器的购买和配置以及搭建项目教程

2. 下载xshell、xftp

请参考以下博文操作

免费Xshell、Xftp下载、安装、连接教程【图文】详细

3. 安装mysql8.0

请参考以下博文操作

Linux(CentOS7)下安装Mysql8数据库
mysql导入导出sql文件

4. 安装python flask + uwsgi

这一步骤的完全过程可以借鉴下面这个视频教程,如果是新手,建议按照他的步骤安装实现

Flask代码开发完毕,怎样使用uswgi部署一个高性能的在线服务?

不过在安装过程中我出现了一些问题,这里我写出自己遇到的问题,如果各位遇到的不是这些问题,可以百度解决

  1. 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
  1. 视频教程在添加5000端口使用的命令是sudo firewall-cmd --premanent --add-port=5000/tcp如果没有实现端口添加的话,需要进入云服务器控制台安全组中自行添加
  2. 视频教程在使用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
  3. 当然,后面的代码也要改,以下是我实现的代码
    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项目时的总结,希望能帮到您,如果有问题请留言,能帮到我会知无不言
以下是其他大佬的安装经验,可以参考参考

uwsgi+flask 部署网站
uWSGI+Nginx+Flask在Linux下的部署

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;
    }
}

最后祝你能成功

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九月镇灵将

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值