背景

众所周知,近年来,某学习软件下载量全球遥遥领先,连起来绕地球N圈。

于是花了点时间用Python写了个程序来帮助收集挑战答题的问题,虽然还无法完全摆脱人工,半自动怎么也要比全手动的省心。

随后利用Python + flask + Mongodb搭建了一个查询网站。

最近运行着qgtk.xyz的vps硬盘炸了,花了点时间恢复,遂整理了部署笔记如下。

P.S 部署由flask框架编写的Python Web应用,可以参考本文。

环境

Ubuntu 16.04 + Python 3 + Mongodb 3.6.17 + Nginx + uWSGI

环境准备

Mongodb数据库

详见:Mongodb安装与配置(还没写)

配置Python虚拟环境

安装pip3及virtualenv

安装

配置

新建虚拟环境

进入虚拟环境

安装模块

安装完成后,退出虚拟环境。

部署

设置Nginx vhost并上传源码

新建源码目录并上传源码

配置vhost

添加如下内容:

注释以下内容:

如果不注释掉,可能会导致出现大量的404错误。

http到https地址的跳转。

安装配置uWSGI

P.S 记得退出虚拟环境。

安装

提前将runsock、log目录建好。

编辑配置文件

应用配置文件如下:

这里需要注意的是,使用uwsgi后,要将代码中启动flask内置服务器的代码注释掉。

启动测试一下。

正常启动的情况下不会报错。

使用Supervisor管理uWSGI

安装Supervisor

新建目录

编辑配置文件

内容如下:

如果安装在其他地方,根据实际情况修改配置文件即可。

新建软连接到/etc/

编辑Supervisor启动uWSGI的配置文件

内容如下:

启动/重载配置文件

添加开机自动启动

将上面的启动命令加入rc.local中。

最后

版权声明
转载保留版权: 大D技研室 | 《qgtk.xyz部署笔记》
本文链接地址:https://www.dadclab.com/archives/7536.jiecao
转载须知:如果您需要转载本文,请将版权信息,版权授权方式,以及本文的链接地址注明,谢谢合作。
本文被贴上了: , , , , , , , 标签