如何配置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/

Flask应用网址:  http://xx.xx.xx.xx:443/myocr/

nginx配置2个不同端口的应用的更多相关文章

  1. nginx配置基于域名、端口、IP的虚拟主机

    1.基于域名的虚拟主机: 绝大多数企业对外提供服务的网站使用的都是基于域名的主机,通过不同的域名区分不同的虚拟主机. 首先我们进入安装nginxd的目录下:/application/nginx-1.6 ...

  2. nginx 配置虚拟主机( 基于端口 )

    一.创建网站目录及文件: [root@localhost data]# tree /data /data └── wwwroot ├── www.1.com_8080 │   └── index.ht ...

  3. Nginx配置https, 80端口重定向443

    server { listen 443 ssl; server_name 域名; charset utf-8; access_log /var/log/nginx/webhook.iminho.me/ ...

  4. 【nginx配置】nginx做非80端口转发

    一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...

  5. nginx配置80端口访问8080+项目名地址

    tomcat访问项目,一般是 ip + 端口 + 项目名 nginx 配置 location / {} ,一般只能跳转到 ip + 端口,如果想要直接访问项目,就需要修改tomcat的配置了 如何保证 ...

  6. Nginx配置基于多域名、端口、IP的虚拟主机

    原文:https://www.cnblogs.com/ssgeek/p/9220922.html ------------------------------- Nginx配置基于多域名.端口.IP的 ...

  7. Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  8. nginx配置虚拟主机-端口号区分/域名区分

    Nginx实现虚拟机 可以实现在同一台服务运行多个网站,而且网站之间互相不干扰.同一个服务器可能有一个ip,网站需要使用80端口.网站的域名不同. 区分不同的网站有三种方式:ip区分.端口区分.域名区 ...

  9. Nginx配置多个域名指向不同的端口

    一.前言 很多时候我们都会在同一个服务器上部署多个项目,我们有多个域名的情况下,怎么样使不同的域名都通过80端口来访问呢?打个比方说,现在有2个域名,分别是:tessai.cn 和 admin.tes ...

  10. nginx配置8081端口异常

    1.为nginx配置8081端口,结果nginx报错. (nginx配置8081端口监听,通过查看日志,出现nginx: [emerg] bind() to 0.0.0.0:8081 failed ( ...

随机推荐

  1. Qt编写的项目作品36-秘钥生成工具

    一.功能特点 (一)常规秘钥机制 远程联网激活,每次启动都联网查看使用时间等,这种方法最完美,缺点是没法联网的设备就歇菜了,而很多设备都是要求离线使用无法联网. 通过获取本地的硬盘+CPU等硬件的编号 ...

  2. JS-正则表达式(基本语法、test、exec、\d\D\w\W\s\S .)

    二,正则表达式 1,什么是正则表达式 是一种规范,对字符串格式进行验证的规范 不用自己写,常用的正则表达式,网上都有,只要会使用就可以 2,定义方法 字面量 var reg = /正则表达式/ 常用方 ...

  3. C#HTTP网络编程的一般流程

    1.同步HTTP网络要求 //第1步: 送出要求 string url="https://www.baidu.com/"; HttpWebRequest request = (Ht ...

  4. ThreeJs-11精通着色器编程(重难点)

    着色器语言编程比较重要,后面的几个章节都会围绕这个来做特效 一.初识着色器语言 首先什么叫做着色器,他是一种语言,首先需要设置为着色器材质,然后在材质里面书写一些语言,可以告诉他顶点,然后去自定义一些 ...

  5. Windows应用开发-常用工具集推荐

     .NET/WPF开发 Visual Studio 最新版本是VS2022,官网下载:Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 VsColorOutput 控制台 ...

  6. 零基础Windows Server搭建部署Word Press 博客系列教程(1):从萌新到菜鸡之云主机配置与备案

    不知道这个教程能帮助到多少想要长期建站的新手朋友. 下面进入正题.如果你想搭建一个基于wordpress的个人博客或者网站,但是不懂Linux,也没有命令行的操作经验,更不懂复杂的代码,那么找这篇文章 ...

  7. Solution Set - “一二行诗句相遇,十万颗恒星解体”

    目录 0.「集训队互测 2018」Fim4 1.「ABC 294Ex」K-Coloring 2.「NOI Simu.」解码 3.「NOI Simu.」图 4.「NOI Simu.」表达式 5.「ULR ...

  8. HttpClient.PostAsynct 发送Json数据

    HttpClient.PostAsync第二个参数设置HttpContent 发送Json数据. 需要这是这个content.Headers.ContentType = new System.Net. ...

  9. Kubernetes kubeadm部署k8s集群

    ​kubeadm​​​是​​Kubernetes​​​项目自带的及集群构建工具,负责执行构建一个最小化的可用集群以及将其启动等的必要基本步骤,​​kubeadm​​​是​​Kubernetes​​​集 ...

  10. 第一章 dubbo源码解析目录

    重要的网址: dubbo的github:https://github.com/alibaba/dubbo dubbo官网:http://dubbo.io/ dubbo使用者手册:https://dub ...