如何配置nginx,在同一台服务器上,部署2个不同端口的web应用?
1,利用Django框架搭建的web应用,默认端口是8000;
2,利用Flask框架搭建的web应用,默认端口是5000;
第一步:到云服务器官网开通这2个端口访问权限。
第二步:修改nginx配置和uwsgi配置。
参考如下:
1,利用Django框架搭建的web应用,默认端口是8000;
uwsgi.ini :
[uwsgi]
#这里是你的项目根目录路径
chdir=/home/py_workspace/django_pro/mysite
//指定wsgi模块下的application对象
module = mysite.wsgi:application
# 套接字方式的 IP地址:端口号,搭配 nginx使用socket
socket=127.0.0.1:8000
#是否启动主进程来管理其他进程
master=true
# 以上4个是核心配置项
# 项目中wsgi.py文件的目录,相对于当前工作目录
wsgi-file=mysite/mysite/wsgi.py
# 进程个数,根据电脑配置设置
process=4
# 每个进程的线程个数
threads=2
# 服务的pid记录文件
pidfile=uwsgi.pid
# 服务的日志文件位置
daemonize=uwsgi.log
2,利用Flask框架搭建的web应用,默认端口是5000;
uwsgi.ini :
[uwsgi]
# 这里是你的项目根目录路径
chdir = /home/py_workspace/flask_pro/MyOCR
# 模块名,这里用myapp; myapp:app是指定一个Python的可执行文件,它包括Flask的代码from myapp.app import app
module = myapp:app
# 因为app是启动整个服务的入口,所以是app
callable = app
# 是否启动主进程来管理其他进程
master = true
# 设置进程数
processes = 4
# 每个进程的线程个数
threads = 2
# 这里的sock文件不是某个现成的文件,也不需要事先创建,运行时会自动创建,文件名也是自己定
# socket = /tmp/myapp.sock
# 套接字方式的 IP地址:端口号,搭配 nginx使用socket
socket = 127.0.0.1:5000
# chmod-socket = 660
# 当服务器退出时自动清理环境
vacuum = true
# 超时时间,单位秒
harakiri = 60
# 服务的pid记录文件
pidfile = uwsgi.pid
# 服务的日志文件位置
daemonize = uwsgi.log
合并2个应用配置:nginx.conf:
#user root;
#worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
# 通过nginx的反向的代理,可以监听80(http)和443(https)两个默认端口,然后将这两个2个端口的请求映射到项目实际运行的端口上
# server被称为虚拟主机,可以有多个
# 第1个服务
server {
# 监听端口号
listen 80;
# 你的云服务器ip
server_name xx.xx.xx.xx;
charset utf-8;
client_max_body_size 75M; # adjust to taste
location / {
# 将nginx所有请求转到uwsgi
include uwsgi_params;
# uwsgi的ip与端口,与之前的 uwsgi.ini 配置文件 地址端口一致
uwsgi_pass 127.0.0.1:8000;
}
location /static {
# 静态文件目录
alias /home/py_workspace/django_pro/mysite/static;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# 第2个服务
server {
# 监听端口号
listen 443;
# 你的服务器ip
server_name xx.xx.xx.xx;
charset utf-8;
client_max_body_size 75M; # adjust to taste
location / {
# 将nginx所有请求转到uwsgi
include uwsgi_params;
# uwsgi的ip与端口
uwsgi_pass 127.0.0.1:5000;
}
location /static {
# 静态文件目录
alias /home/py_workspace/flask_pro/MyOCR/static;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
第三步:启动后验证2个服务应用。
nginx配置文件在哪里,怎么启动,不清楚的可以查看我之前的文章。
Django应用网址: http://xx.xx.xx.xx/mysite/文章来源:https://www.toymoban.com/news/detail-706237.html
Flask应用网址: http://xx.xx.xx.xx:443/myocr/文章来源地址https://www.toymoban.com/news/detail-706237.html
到了这里,关于nginx配置2个不同端口的应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!