supervisor nginx_云服务器部署2【Nginx支持Flask多域名】

90873813-7613-eb11-8da9-e4434bdf6706.png

系列目录

云服务器部署1【Nginx、Supervisor、Flask、Python】

云服务器部署2【Nginx支持Flask多域名】(本篇)

前言

在上一篇文章已经讲解记录了在云服务器通过安装Nginx、Supervisor部署python Flask的步骤。

本篇文章,在上一篇文章的基础上,准备再增加一个新的域名。上一篇已经支持了demo.2019club.cn,那么这一篇准备同时支持域名test.2019club.cn

环境

系统:Ubuntu 16.04.1 LTS

服务器:腾讯云服务器(也适用于阿里云服务器,笔者亲测)

域名解析

回到我的云服务管理后台,进入域名解析列表

91873813-7613-eb11-8da9-e4434bdf6706.png

点击箭头所指的“解析”按钮

92873813-7613-eb11-8da9-e4434bdf6706.png

点击箭头所指的“添加记录”按钮

93873813-7613-eb11-8da9-e4434bdf6706.png

主机记录项输入二级域名,这里我的是test,记录值项填写云服务器的公网IP地址,然后点击“保存”按钮。

测试一下二级域名是否成功解析到云服务器

94873813-7613-eb11-8da9-e4434bdf6706.png

可以看到已经成功解析到云服务器。

新建Flask引用

执行指令,新建并网站根目录

$mkdir test

$cd test

95873813-7613-eb11-8da9-e4434bdf6706.png

执行以下指令

$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 Flaskfrom flask_script import Managerapp = Flask(__name__)manager = Manager(app)@app.route('/')def index():return 'Hello 欢迎关注头条号@玖零大壮'if __name__ == '__main__':manager.run()

稳妥起见,运行一下manage.py,检查程序是否有问题

执行指令

$python manage.py runserver

98873813-7613-eb11-8da9-e4434bdf6706.png

程序没有问题。执行指令,退出虚拟环境

$deactivate

新建uWSGI配置文件

执行指令

$vim uconfig.ini

9a873813-7613-eb11-8da9-e4434bdf6706.png

文件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

9d873813-7613-eb11-8da9-e4434bdf6706.png

文件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=rootautostart=trueautorestart=true#日志路径stdout_logfile=/home/ubuntu/webroot/test/uwsgi_supervisor.log

执行指令

$sudo mv supervisor_test.conf /etc/supervisor/conf.d/

$sudo service supervisor restart

9e873813-7613-eb11-8da9-e4434bdf6706.png

新建Nginx配置文件

执行指令

$vim test_2019club_cn

9f873813-7613-eb11-8da9-e4434bdf6706.png

文件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

下面可以测试一下二级域名是否可用了。

a1873813-7613-eb11-8da9-e4434bdf6706.png

结语

到这里为止,云服务器部署支持多个Flask应用的步骤已经演示完毕,如有问题,随时指正。对你有帮助也请给我点个赞,谢谢。

【@玖零大壮 转载附带信息 起始】

//*****************************************************************

//作者原创,转载如未携带此段信息,侵权必究!

//作者:玖零大壮

//头条号@玖零大壮

//公众号@玖零大壮

//原文链接:https://www.toutiao.com/i6668865832044462596/

//*****************************************************************

【@玖零大壮 转载附带信息 结束】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值