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

news/2025/2/16 3:41:51/

前言

由于公司一台服务器同时有多个服务,这些服务通过域名解析都希望监听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服务,访问测试。

 


http://www.ppmy.cn/news/87246.html

相关文章

ReactRouterDom-v5v6用法与异同

本文作者系360奇舞团前端开发工程师 简介: React Router Dom是React.js中用于实现路由功能的常用库。在React应用中,路由可以帮助我们管理页面之间的导航和状态,并实现动态加载组件。本文将深入探讨React Router Dom的两个主要版本&#xff1…

导出带下拉选项的Excel基于EasyExcel实现

前言 今天就是记录一个计算点而已,帮小组成员搽屁股改bug。场景就是导出Excel的模板,希望枚举字段有下拉选择。 一、技术选型场景 我们这里用的是阿里开源的EasyExcel,导出模板是后端动态生成的。 二、使用步骤 1.下载模板示例 /*** 下载导…

物联网时代,从智能咖啡机到车联网都可能被黑!

"伴随5G明年即将正式商转,物联网(IoT)时代特有的“万物皆联网”景况也近在咫尺,届时x连网对象数量将呈现猛爆增长。物联网技术的前期采用者,除了加速物联网基础建设与创新技术应用导入之外,也面临更广泛的安全管理风险与更严…

springboot+vue基于java的用户行为的个性化新闻推荐系统

使用个性化新闻服务平台相对传统个性化新闻服务方式具备很多优点:首先可以大幅提高个性化新闻服务信息检索,只需输入新闻相关信息就能在数秒内反馈想要的结果;其次可存储大量的个性化新闻服务信息,同时个性化新闻服务安全性有更高…

1722_PolySpace Bug Finder的几种启动方式

全部学习汇总: GreyZhang/g_matlab: MATLAB once used to be my daily tool. After many years when I go back and read my old learning notes I felt maybe I still need it in the future. So, start this repo to keep some of my old learning notes servral …

C++ 友元

文章目录 1 为什么使用友元(用途)2 友元的两种使用方式(用法)2.1 友元函数2.1.1 使用全局函数作为友元函数2.1.2 使用类成员函数作为友元函数 2.2 友元类 3 注意事项 1 为什么使用友元(用途) 作为 C 面向对…

美团面试:接口被恶意狂刷,怎么办?

如果Java接口被恶意狂刷,我们一般可以采取以下措施: 用TimeStamp (兵不厌诈) 比如给客户端提供一个timestamp参数,值是13位的毫秒级时间戳,可以在第12位或者13位做一个校验位,通过一定的算法给…

Spring事务配置

1、XML方式配置 2、注解方式 | 属性 | 类型 | 默认值 | 说明 | | ---------------------- | --------------- | --------------------------- | ---------------------- | | propagation | P…