系列目录
云服务器部署1【Nginx、Supervisor、Flask、Python】
前言
在上一篇文章已经讲解记录了在云服务器通过安装Nginx、Supervisor部署python Flask的步骤。
本篇文章,在上一篇文章的基础上,准备再增加一个新的域名。上一篇已经支持了demo.2019club.cn,那么这一篇准备同时支持域名test.2019club.cn
环境
系统:Ubuntu 16.04.1 LTS
服务器:腾讯云服务器(也适用于阿里云服务器,笔者亲测)
域名解析
回到我的云服务管理后台,进入域名解析列表
点击箭头所指的“解析”按钮
点击箭头所指的“添加记录”按钮
主机记录项输入二级域名,这里我的是test,记录值项填写云服务器的公网IP地址,然后点击“保存”按钮。
测试一下二级域名是否成功解析到云服务器
可以看到已经成功解析到云服务器。
新建Flask引用
执行指令,新建并网站根目录
$mkdir test
$cd test
执行以下指令
$virtualenv -p python3 venv
$source venv/bin/activate
$pip install flask
$pip install flask_script
$pip install uwsgi
$vim manage.py
文件manage.py内容如下:
from flask import Flask from flask_script import Manager app = Flask(__name__) manager = Manager(app) @app.route('/') def index(): return 'Hello 欢迎关注头条号@玖零大壮' if __name__ == '__main__': manager.run()
稳妥起见,运行一下manage.py,检查程序是否有问题
执行指令
$python manage.py runserver
程序没有问题。执行指令,退出虚拟环境
$deactivate
新建uWSGI配置文件
执行指令
$vim uconfig.ini
文件uconfig.ini内容如下:
[uwsgi]
# 配置多域名时,端口号记得要不同
socket=127.0.0.1:9001
# 指向项目目录,这里的目录是我们的程序的根目录
chdir=/home/ubuntu/webroot/test/
# flask启动程序文件
wsgi-file=manage.py
# flask在manage.py文件中的app名
callable=app
# 处理器数,我的服务器是单核双线程的
# 不知道的话,写1就没问题
processes=1
# 线程数
threads=2
【【特别注意】】:当配置多域名时,最重要的就是要改变这个端口号了,我上一篇使用的端口号是9000,这里我使用9001。当然你也可以使用其它的端口号,只要注意端口号不被占用或者不是特殊程序使用的端口号就行。
新建Supervisor配置文件
执行指令
$vim supervisor_test.conf
文件supervisor_test.conf内容如下:
[program:test] # 启动命令入口 command=/home/ubuntu/webroot/test/venv/bin/uwsgi /home/ubuntu/webroot/test/uconfig.ini # 命令程序所在目录 directory=/home/ubuntu/webroot/test/ # 运行命令的用户名 user=root autostart=true autorestart=true #日志路径 stdout_logfile=/home/ubuntu/webroot/test/uwsgi_supervisor.log
执行指令
$sudo mv supervisor_test.conf /etc/supervisor/conf.d/
$sudo service supervisor restart
新建Nginx配置文件
执行指令
$vim test_2019club_cn
文件test_2019club_cn内容如下:
server {
listen 80;
server_name test.2019club.cn;
location / {
uwsgi_pass127.0.0.1:9001;#和uconfig.ini中的socket地址保持一致
includeuwsgi_params;
uwsgi_param UWSGI_PYHOME /home/ubuntu/webroot/test/venv;#指向虚拟环境目录
uwsgi_param UWSGI_CHDIR/home/ubuntu/webroot/test;#指向网站根目录
uwsgi_param UWSGI_SCRIPT manage:app;#指定启动程序
}
}
执行指令
$sudo mv test_2019club_cn /etc/nginx/sites-available/ $sudo ln -s /etc/nginx/sites-available/test_2019club_cn /etc/nginx/sites-enabled/test_2019club_cn $sudo service nginx restart
下面可以测试一下二级域名是否可用了。
结语
到这里为止,云服务器部署支持多个Flask应用的步骤已经演示完毕,如有问题,随时指正。对你有帮助也请给我点个赞,谢谢。
【@玖零大壮 转载附带信息 起始】
//*****************************************************************
//作者原创,转载如未携带此段信息,侵权必究!
//作者:玖零大壮
//头条号@玖零大壮
//公众号@玖零大壮
//原文链接:https://www.toutiao.com/i6668865832044462596/
//*****************************************************************
【@玖零大壮 转载附带信息 结束】