1. 环境说明:
腾讯云轻量应用服务器,系统是ubuntu20.04
登录腾讯云服务器的方法:1)下载putty登录linux系统。2)下载winscp上传文件到linux系统。
通过pip install flask,gunicorn来安装flask和funicorn
通过apt安装nginx(nginx: Linux 软件包),然后用ps -ef | grep nginx 来查看nginx的安装位置,一般来说在/etc/nginx/。(使用方法可参考如何在 Ubuntu 20.04 上安装 Nginx - 知乎 (zhihu.com))
2. 部署
- 写好flask程序(注意:如果要采用https,那么所有url请求的地址请写完整,如https://ip地址:端口/路径),写完程序用python 文件名.py 运行一下试试看对不对
- (用Screen命令创建新屏幕(14条消息) ubuntu远程连接退出后程序继续运行之screen 命令_敬我岁月无波澜的博客-CSDN博客)用gunicorn来部署,如gunicorn -w 4 -b 127.0.0.1:5000 boot:app(其中boot是指你的py文件名,app是该py文件中的App类)(想外网访问的话0.0.0.0:5000)。使用ps -ef | grep gunicorn命令找出gunicorn所有进程,然后使用 kill -9 进程ID 命令来杀掉进程,注意,我们找到主进程杀掉即可,子进程会随之结束。
- 输入命令sudo nano /etc/nginx/sites-available/default打开默认nginx配置文件,
server { listen 443; //Https的默认端口号,也可以改成别的 server_name your_domain.com; //域名 location / { proxy_pass http://127.0.0.1:5000; //转发到5000端口 } }
4. 配置Https证书文件过程中其他要改的部分详见:SSL 证书 域名型(DV)免费 SSL 证书申请流程 - 证书申请 - 文档中心 - 腾讯云 (tencent.com)
5. 重启nginx:(14条消息) Nginx快速入门_CommissarMa的博客-CSDN博客
6. 用了新端口之后,记得去腾讯云服务器的防火墙添加一下该端口。
启动的话就是nginx即可。
成功,撒花!