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

目录
  • 前言
  • 配置nginx多服务共用80端口
  • 以下以两个服务使用域名访问,共用80端口为例
    • 方案一:多个不同端口服务共用80端口
    • 方案二:多个服务共用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如何配置多个服务域名解析共用80端口的文章就介绍到这了,更多相关Nginx多服务域名解析共用80端口内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • nginx配置多个站点共用80端口的解决方法

    只用改一个地方,在http模块里面加入你要引用的虚拟主机配置文件目录即可: 例如:include /usr/local/nginx/default.d/*.conf; http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"

  • Nginx反向代理一个80端口下配置多个微信项目详解

    Nginx反向代理一个80端口下配置多个微信项目详解 我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑.但是微信公众号接口只支持80接口(80端口).我们因业务需求需要在一个公众号域名下面,发布两个需要微信授权的项目,怎么办? 我们可以用nginx服务器做反向代理来解决这个问题.nginx服务器对外80端口,然后根据URL参数不同,对内访问不同的项目. nginx配置如下: 打开/usr/local/nginx/conf/nginx.conf worker_pr

  • 详解nginx 配置多个tomcat共用80端口

    场景:项目1放在tomcat1中,项目2放在tomcat2中,两个tomcat放在同一台服务器上,需要共享80端口访问 注意:这里和集群部署是不同的,集群部署是一个项目放在多个tomcat中. 这里通过nginx做反向代理,nginx请到http://nginx.org/en/download.html自行下载, 修改conf/nginx.conf中的server如下: server { listen 80; server_name 192.168.1.197; #charset koi8-r;

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

    目录 前言 配置nginx多服务共用80端口 以下以两个服务使用域名访问,共用80端口为例 方案一:多个不同端口服务共用80端口 方案二:多个服务共用80端口 总结 前言 由于公司一台服务器同时有多个服务,这些服务通过域名解析都希望监听80/443端口直接通过域名访问,比如有demo.test.com和product.test.com.这时候我们可以使用nginx的代理转发功能帮我们实现共用80/443端口的需求. 备注:由于HTTP协议默认监听80端口,HTTPS协议默认监听443端口,所以使

  • 详解Nginx与Apache共用80端口的配置方法

    一个典型的 Nginx + Apache 应用方案可以是Nginx 占用 80 端口,过滤静态请求,然后动态请求即 Proxy 到 Apache 的 8080 端口.Proxy 反向代理的好处是访问的时候,始终就是 80 端口,来访者不会觉察到有任何的区别. 但有的应用确非常"聪明",识别到 Apache 所位于的端口是 8080 ,就会把相关的超链接都一并加上 :8080 的后续.这么就死定了,还能有正常访问麽?! 有个方法可以解决这事,就是把 apache 也运行在80端口上.同一

  • SpringCloud Eureka服务注册中心应用入门详解

    目录 1.多节点无缝切换问题 2.服务注册与发现 Eureka 3.Springboot集成Eureka 3.1 父包pom依赖 3.2 eureka服务端 3.3 客户端 pom依赖 yml配置 3.4 控制台 1.多节点无缝切换问题 分布式节点中的服务宕机或者重启不影响客户端使用 分布式节点中的服务宕机重启不影响业务服务内部通信 如果在某个分布式系统中想要解决上述问题,那么这篇文章就是精华之处. 回顾一下以前的常用手段: 单节点运行,其他节点备用,无法无缝连接,内网通信无法保证 多节点运行,

  • NPM配置私服构建内网中央仓库过程详解

    目录 写在前面 1. 概述 2. 部署nexus 3. 几个概念 3.1 代理 3.2 本地包 3.3 包分组 4. 配置NPM包 4.1 配置本地包 4.2 配置代理 4.3 配置包分组 4.4 配置好后我们就可以进行发布和下载 4.5 遇到的问题 4.5.1 在登录的时候遇到的问题 4.5.2 登录报错 写在前面 目前大部分的项目,基本上都采用了前后端分离的框架.随着项目的不断做大做强,框架就会变得很庞大. 那么前端的框架,也是会变得不断的臃肿.不同的模块项目前端,可能有些公共的方法,都是共

  • SpringCloud搭建netflix-eureka微服务集群的过程详解

    1.打开官网稍微学习一下,了解一下spring cloud是个什么东西,大概有哪些组件等 https://spring.io/projects/spring-cloud https://docs.spring.io/spring-cloud-netflix/docs/current/reference/html/ 2.新建项目 打开网址:https://start.spring.io/ 选择需要引入的组件,然后下载下来即可 3.更改项目结构 为了测试的方便,需将项目结构更改为多模块的项目. 步骤

  • java开发分布式服务框架Dubbo原理机制详解

    目录 前言 Dubbo框架有以下部件 Consumer Provider Registry Monitor Container 架构 高可用性 框架设计 服务暴露过程 服务消费过程 前言 在介绍Dubbo之前先了解一下基本概念: Dubbo是一个RPC框架,RPC,即Remote Procedure Call(远程过程调用),相对的就是本地过程调用,在分布式架构之前的单体应用架构和垂直应用架构运用的都是本地过程调用.它允许程序调用另外一个地址空间(通常是网络共享的另外一台机器)的过程或函数,并且

  • 微服务架构之服务注册与发现功能详解

    目录 微服务的注册与发现 1.服务注册 2.服务发现 3.注册中心 4.现下的主流注册中心 4.1 Eureka 4.1.1 介绍 4.1.2 整体架构 4.1.3 接入Spring Cloud 4.2 ZooKeeper 4.2.1 介绍 4.2.2 整体架构 4.2.3 接入Dubbo生态 4.3 Consul 4.3.1 介绍 4.3.2 整体架构 4.3.3 生态对接 4.4 总结对比 详解微服务架构及其演进史 微服务全景架构全面瓦解 微服务架构拆分策略详解 微服务的注册与发现 我们前面

  • Rainbond对微服务进行请求速率限制详解

    目录 前置条件 操作流程 常见问题 Rainbond 默认支持基于 envoy 的全局速率限制.在 Rainbond 默认提供的综合网络治理插件中呈现.本文我们将一个用例呈现 Rainbond 中全局速率限制的使用方式. 前置条件 Rainbond平台已部署完成. 在Rainbond中部署可访问的 Demo 业务. 为此组件开通综合网络治理插件. 参考视频 https://player.bilibili.com/player.html?aid=540728010 Rainbond 速率限制设置参

  • Vue 服务端渲染SSR示例详解

    目录 手写Vue服务端渲染 一.开始vue-ssr之旅 二.采用模板渲染 三.ssr目录创建 四.通过webpack实现编译vue项目 app.js client-entry.js server-entry.js 五.配置客户端打包和服务端打包 六.配置运行脚本 七.服务端配置 七.通过json配置createBundleRenderer方法 八.集成VueRouter 配置入口文件 配置组件信息 防止刷新页面不存在 保证异步路由加载完成 十.集成vuex配置 在后端更新vuex 在浏览器运行时

随机推荐