2022
我们一起努力

nginx云存储服务器,nginx前后端部署使用相同域名

系列目录

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

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

前言

在上一篇文章已经讲解记录了在云服务器通过安装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/

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

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

赞(0)
文章名称:《nginx云存储服务器,nginx前后端部署使用相同域名》
文章链接:https://www.fzvps.com/111999.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!