服务器必备的软件环境:
- nginx
- python3
- pip3
- uWSGI
我使用的是 lnmp 安装环境,nginx 安装过程不再赘述。
编译安装 python 3
下载 python 源码
用 wget 从官网下载源码,选择任意版本 python3,我选的当时最新的发行版 python3.6.4,其中安装包版本 Gzipped source tarball 即我们所需的源码。
1 | wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz |
解压,配置
下载完成后解压,然后添加配置。在 configure 的选项中,–prefix 定义了安装位置,便于以后更新或删除 python;–enable-shared 指定安装共享库,共享库在使用其他需调用 python 的软件时会用到,比如使用 mod_wgsi 连接 Apache 与 python 时需要,最好填上。
1 | tar -xzvf Python-3.6.4.tgz |
编译,安装
1 | make |
如果是多核cpu,make 替换为 make -j
可以加快编译速度。
建立软链
然后建立 python3 和 pip3 的软链。
1 | $ ln -s /usr/local/python3/bin/python3 /usr/bin/python3 |
建立软链后输入 python3 即可进入 python3 解释器,同时你还可以输入 python 或 python2 进入 python2 解释器,二者可以共存。
下载 PT-Gen
lnmp 新建主机,设置网站根目录和配置文件
1 | lnmp vhost add |
进入网站根目录并下载程序源码
1 | cd /home/wwwroot/api.example.com |
安装依赖库
1 | pip3 install -r requirement.txt |
安装,配置 uWSGI
1 | pip3 install uwsgi |
新建配置文件
1 | vim config.ini |
填入此配置文件内容并保存
1 | [uwsgi] |
建议不要使用 root 用户启动 uwsgi,保持和 nginx 的启动用户一样。lnmp 中 nginx 进程是属于www ,所以 uwsgi 的 uid/gid 也要指定为 www 用户。
配置 nginx
修改 nginx 网站配置文件
1 | vim /usr/local/nginx/conf/vhost/api.example.com.conf |
location /
段添加 uwsgi 相关配置
1 | location / |
加载配置文件
1 | lnmp nginx reload |
运行后端
1 | uwsgi3 --ini config.ini |
这时访问 api 的域名,会出现提示 Hello world~
,表示程序已成功运行。
PT-Gen 的 api 的路径为 api.example.com/movieinfo/gen
,前端页面修改api的域名即可换用此api。浏览器不带参数访问此路径,默认跳转到工具介绍页面。