Nginx根据域名分发不同端口

转载请标明出处:
原文首发于:http://www.zhangruibin.com
本文出自RebornChang的博客

根据域名分发不同端口

需求背景

博主有买了两个域名,但是只购买了一个主机,主机只有一个80端口,但是又不想访问的时候带端口访问,所以就想着通过不同的域名请求访问不同的端口。

实现方式nginx代理分发

在一个主机上部署了两个服务实例,分别是81,82端口。域名经过DNS解析之后访问的是指定服务器IP的80端口,所以实现方式就是在域名服务进行DNS解析的时候,访问指定服务器的80端口,使用NGINX监听80端口的信息,如果是zhangruibin.com就转发到82端口上,如果是92cnb.com就转发到81端口上。

安装NGINX

安装NGINX很简单,网上有很多的教程,此处不再赘述,可以参考博文:https://www.cnblogs.com/kaid/p/7640723.html。

注意:1.安装NGINX的主机,80端口必须空闲,因为NGINX默认占用端口为80端口。否则会在启动NGINX的时候报错。
2.部署的服务对应的端口一定要开启,看系统使用的是Firewalls还是iptables。

配置NGINX

编辑NGINX的conf文件夹下面的nginx.conf文件

vim /usr/local/nginx/conf/nginx.conf

因为博主的要分发的是两个域名,所以设置:worker_processes 2;
另外需要复制一份server{}并且修改两个server{}里面的内容:

  server {
       listen       80;
       server_name  www.92cnb.com 92cnb.com ;

       location / {
           # 反向代理到 81 端口
           proxy_pass http://127.0.0.1:81;
           add_header Access-Control-Allow-Origin *;
           root   html;
           index  index.html index.htm;

            }
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   html;
         }

          
       }
   server {
       listen       80;
       server_name  www.zhangruibin.com zhangruibin.com;

       #charset koi8-r;

       #access_log  logs/host.access.log  main;

       location / {
           # 反向代理到 82 端口
           proxy_pass http://127.0.0.1:82;
           add_header Access-Control-Allow-Origin *;
           root   html;
           index  index.html index.htm;
       }

       #error_page  404              /404.html;

       # redirect server error pages to the static page /50x.html
       #
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   html;
       }
   }

保存之后,使nginx重新加载配置文件:./nginx -s reload
此时再访问域名,就分发到了指定的端口。
效果如下图所示:


Over!

版权声明:本文为m0_37190495原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37190495/article/details/91442671

智能推荐

Hadoop实战(4)_Hadoop的集群管理和资源分配

系列目录: Hadoop实战(1)_阿里云搭建Hadoop2.x的伪分布式环境 Hadoop实战(2)_虚拟机搭建Hadoop的全分布模式 Hadoop实战(3)_虚拟机搭建CDH的全分布模式 DataNode数据目录 如果有多个挂载点,可以有多个DataNode数据目录。 目前服务器硬件,标准小型机配置:32核、64G(128G)、64T(4T*16盘SAS盘)。通常为了提升磁盘吞吐量,每个盘单...

Tornado day02

一,项目模板: Tornado的项目也可以像Django和flask一样,将功能细分为几个模块 1.1 _ _ init _ _.py 1.2 setting .py 1.3 urls .py 1.4 views .py 1.5 manage .py 将这个模板拷贝下来,以后创建新项目的时候可以直接拷贝一份,在此模板上修改使用 文件链接 链接:https://pan.baidu.com/s/11E...

PAT乙级 | 1095 解码PAT准考证 (25分)(做题过程+注意事项+运行超时解决方法)

PAT 准考证号由 4 部分组成: 第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级; 第 2~4 位是考场编号,范围从 101 到 999; 第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位; 最后 11~13 位是考生编号,范围从 000 到 999。 现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。 输入格式: 输入首先在一行中给出两个正整数 ...

谈谈Java异常

0 概述 对于java工程师来说,是经常和异常打交道的,本文主要来谈一谈java中的异常。 1 异常类的继承关系 从下图(说明:图中只是列出部分异常类)可以看出: 异常的基类为Throwable,主要分为两个分支,即Error体系和Exception体系。 Exception下面分为RuntimeException和非RuntimeException(如IOException) 2 几种异常的区别...

通过设立FatFS隐藏分区,实现系统文件和用户文件的隔离

嘛。。这是一个关于个人使用FatFS文件系统的 一点小的经验。 我知道大家都会百度和谷歌,关于文件系统有什么用,文件系统怎么移植上自己的平台,看看资料也就懂了,在这里不再详述( 打字太慢一分钟50-60字懒得写)。本系列默认已经可以将设备模拟成u盘,并且已经通过修改diskio.c,可以实现ff.c中的各项功能( 不能实现的自行面壁)。FatFS项目官网 http://elm-chan.org/f...

猜你喜欢

Mysql之锁与事务知识要点小结

Mysql之锁与事务 平时的业务中,顶多也就是写写简单的sql,连事务都用的少,对锁这一块的了解就更加欠缺了,之前一个大神分享了下mysql的事务隔离级别,感觉挺有意思的,正好发现一个很棒的博文,然后也收集了一些相关知识,正好来学习下,mysql中锁与事务的神秘面纱,主要内容包括 共享锁和排它锁的区别以及适合范围 mysql的表锁和行锁的区别 怎么判断一个sql是否执行了锁,执行的是表锁还是行锁 ...

响应式图片二 通过srcset实现

具体方法如下: srcset=”图片地址+空格+尺寸描述符,图片地址+空格+尺寸描述符,图片地址+空格+尺寸描述符….” 浏览器会当前浏览的环境进行感知,这个感知包括网速、界面分辨率、DPR(屏幕像素比)等等,然后在图片中选择一个进行加载。 实际上,在相同DPR下,浏览器会根据屏幕的分辨率加载图片,但是加载了大的图片后再缩小还是会使用大的图片。综合考虑的算法非...

Training_model(2)

已经清洗处理了两个数据文件: application_{train|test}.csv :客户详细信息 bureau.csv : 客户历史信用报告 下面对这两个数据中的特征进行合并,然后Light Gradient Boosting Machine训练模型,之前只用客户数据的预测评分结果是0.734,这次加入了客户信用报告信息 load data 新增加了客户历史信用记录 Build Model ...

微信小程序 页面跳转(传参跟不传参)

跳转页面传参 1.首先我的目录结构是这样的,并在 cinema.wxml 定义了一个点击事件 bindtap=‘indetai’ 2.然后在 cinema.js 的data里面定义了一个 score,并实现了 indetai 方法 3.在 detai.js 的 data 里面也定义一个 score ,再在 onLoad 函数里面接收传递过来的值 4.在页面上显示得到的值 这...

JavaSE 10(二维数组)

前言:      在经历了血雨腥风的地狱模式后本以为迎来了学习的平静,但二维数组又打破了这难得的平静!!!二维数组在java编程中同样也是很重要的知识点,因此在这里我将整理二维数组的知识点与重点,以及习题,便于自己的复习与巩固。 二维数组的声明与创建: 下面是声明二维数组的语法: 数据类型[][]数组名 : 数据类型数组名[][]; (允许这种方式 ,但并不推荐使用它...