首页 > 系统相关 >Nginx如何配置多个服务域名解析共用80端口详解

Nginx如何配置多个服务域名解析共用80端口详解

时间:2023-05-25 14:55:54浏览次数:41  
标签:nginx demo 端口 域名解析 server Nginx conf 80

前言

由于公司一台服务器同时有多个服务,这些服务通过域名解析都希望监听80/443端口直接通过域名访问,比如有demo.test.com和product.test.com。这时候我们可以使用nginx的代理转发功能帮我们实现共用80/443端口的需求。

备注:由于HTTP协议默认监听80端口,HTTPS协议默认监听443端口,所以使用浏览器访问80/443端口的服务时,可以忽略域名后的“ :80/:443” 端口,直接配置监听到80端口,访问比较方便。

配置nginx多服务共用80端口

首先找到nginx配置文件    

通过apt-get install nginx命令安装的nginx默认配置文件存放在:/etc/nginx目录下
  
切换到/etc/nginx目录
  
#cd /etc/nginx           #切换到nginx目录
  
# ls                     #查看nginx目录下文件
conf.d        fastcgi_params  koi-win     modules-available  nginx.conf    scgi_params      sites-enabled  uwsgi_params fastcgi.conf  koi-utf         mime.types  modules-enabled    proxy_params  sites-available  snippets       win-utf
  
#vim nginx.conf          #打开nginx配置文件(输入shift+i插入内容,esc退出编辑,点击shift+:输入q退出当前页,q!强制退出,不保存编辑的内容;输入wq!强制退出并保存)

以下以两个服务使用域名访问,共用80端口为例

方案一:多个不同端口服务共用80端口

1)配置nginx.conf文件

1.先配置两个端口服务:
// nginx.conf
#demo
server {
    listen       8001;
    server_name localhost;
    try_files $uri $uri/ /index.html;
    root    /home/www/demo;
}
#product
server {
    listen        8002;
    server_name  localhost;
    try_files $uri $uri/ /index.html;
    root    /home/www/product;
}
  
2.配置代理:
// nginx.conf
#demo转发
server {
    listen       80;
    server_name demo.test.com;
    location / {
        proxy_pass http://localhost:8001;
    }
}
#product转发
server {
    listen       80;
    server_name product.test.com;
    location / {
        proxy_pass http://localhost:8002;
    }
}

2)配置完成后重启nginx服务

#systemctl restart nginx

3)  如果是本地局域网需要配置网络将对应的端口,我这边是80,8001,8002三个端口映射到公网IP,并解析对应的域名,完成后就可以正常访问了;

 

方案二:多个服务共用80端口

1)配置nginx.conf文件

// nginx.conf
# nginx 80端口配置 (监听demo二级域名)
server {
    listen  80;
    server_name     demo.test.com;
    location / {
        root   /home/www/demo;
        index  index.html index.htm;
    }
}
  
# nginx 80端口配置 (监听product二级域名)
server {
    listen  80;
    server_name     product.test.com;
    location / {
        root   /home/www/product;
        index  index.html index.htm;
    }
}

2)参考方案一,配置完成后保存,重启nginx服务,访问测试。

 

 

标签:nginx,demo,端口,域名解析,server,Nginx,conf,80
From: https://www.cnblogs.com/zhangzhiping35/p/17431169.html

相关文章

  • Cisco® Catalyst® 8000V 边缘软件 (Catalyst 8000V) 17.11.1a 发布 - 虚拟路由器
    Cisco®Catalyst®8000V边缘软件(Catalyst8000V)17.11.1a发布-虚拟路由器CiscoCatalyst8000vEdgeSoftware,IOSXEReleaseDublin-17.11.1aED请访问原文链接:https://sysin.org/blog/cisco-catalyst-8000v/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.or......
  • P1809 wzy的跑步
    #include<iostream>usingnamespacestd;intflag[10005];//堆空间,默认初始化全是0,等价于intflag[10005]={0};//flag值为0表示没水塘,为1表示有水塘intmain(){intn,m,k;//n,m,k分别代表路径的......
  • 首搭骁龙最强芯片,80小时超长续航,出门问问发布旗舰新品TicWatch Pro 5
    出门问问海外推出备受期待的旗舰新品TicWatchPro5,迄今为止最强大的TicWatch。TicWatchPro5是第一款基于Snapdragon®W5+Gen1可穿戴平台的智能手表,搭载了谷歌™最新版本WearOS系统。作为业内领先的AI公司和TicWatch智能手表的制造商,出门问问于今天(旧金山时间5月24日上午9点/北......
  • 题解(教主的魔法)P2801
    题目教主的魔法题目描述教主最近学会了一种神奇的魔法,能够使人长高。于是他准备演示给XMYZ信息组每个英雄看。于是$N$个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为$1,2,\ldots,N$。每个人的身高一开始都是不超过$1000$的正整数。教主的魔法每次可以把闭区......
  • nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)解决
    nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)报错信息nginx:[emerg]bind()to0.0.0.0:80failed(98:Addressalreadyinuse)nginx:[emerg]socket()[::]:80failed(97:Addressfamilynotsupportedbyprotocol)定位方法1.先使用ps-e|......
  • 超云服务器安装凝思6.0.80龙蜥版本后无法进入系统
    1、情况说明超云服务器R5210,安装系统6.0.80龙溪版本后重启进不去系统,2、排查过程(1)排查硬件问题,安装官网公版6.0.80系统可以正常启动,硬件问题排除(2)安装龙溪版本时可以正常安装,但是重启进不去系统,界面如图同时测试了raid0 raid1 以及SSD硬盘均无效,并且此时硬盘均没有读写。(3)实验......
  • 成本控制域CN01和8000有不同的元素业务
    如果需分配编号的成本要素在界面中缺失,可采用T-CODE:SE38执行RKTKA04C程序进行处理。   ......
  • CF280E - Sequence Transformation
    给定一个不降整数序列\(1\lex_1\lex_2\le\cdots\lex_n\leq\),请构造一个实数序列\(y\)满足\(y_i\in[1,q]\),\(y_i-y_{i-1}\in[a,b]\),且最小化\(\sum(y_i-x_i)^2\),保证有解。利用凸函数性质维护导数我们设\(dp_i(u)\)表示对于所有的合法的\(u\),\(y_i=u\)时\(\sum_......
  • 打一个适合自己主机的nginx和php的包
    创建适配主机的nginx和php的包##先m01上配置一遍wordpress#安装nginx,php包#官方源安装vim/etc/yum.repos.d/nginx.repo[nginx-stable]name=nginxstablerepobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://ng......
  • [Error 10048] error while attempting to bind on address (‘127.0.0.1‘, 8000):
    今天运行程序的时候碰到了这么个问题,因为之前也遇到过这种情况,那时找不到原因重启电脑这方法偶尔能解决,今天就不行了,电脑又没有看到明显的占用这个端口的程序。所以查找资料从根源出发解决。解决方法是:1.进入命令行(以管理员身份)2.输入netstat-aon|findstr"8000"查找8000端......