Nginx同一个域名配置多个项目的实现方法

 更新时间:2021年03月31日 09:48:50   作者:cc_want  
这篇文章主要介绍了Nginx同一个域名配置多个项目的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

使用Nginx要在同一个域名下配置多个项目有两种方式:

  • nginx按不同的目录分发给不同的项目
  • 启用二级域名,不同的项目分配不同的二级域名

1.nginx按不同的目录分发给不同的项目:

server {
  listen  80;
  server_name example.com;
 
  location ^~ /project1 {
    proxy_pass   http://localhost:8081;
    proxy_set_header Host    $host;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
 
  location ^~ /project2 {
    proxy_pass   http://localhost:8082;
    proxy_set_header Host    $host;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
 
  location / {
    proxy_pass   http://localhost:8080;
    proxy_set_header Host    $host;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

这里配置了三个项目:

  • http://example.com/project1路径分发到http://localhost:8081
  • http://example.com/project2路径分发到http://localhost:8082
  • 其他路径分发到http://localhost:8080

2.启用二级域名,不同的项目分配不同的二级域名

注意:很多同学说无效,原因是一定要先对二级域名添加A记录到主机,同一个域名可以添加N个二级域名到同一个主机

server {
  listen  80;
  server_name example.com;
  location / {
    proxy_pass   http://localhost:8080;
    proxy_set_header Host    $host;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

project1

server {
  listen  80;
  server_name project1.example.com;
  location / {
    proxy_pass   http://localhost:8081;
    proxy_set_header Host    $host;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

project2

server {
  listen  80;
  server_name project2.example.com;
  location / {
    proxy_pass   http://localhost:8082;
    proxy_set_header Host    $host;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

注意:这三个项目属于不同的域名,项目之间通过http访问会存在跨域问题。

到此这篇关于Nginx同一个域名配置多个项目的实现方法的文章就介绍到这了,更多相关Nginx同域名配置多项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx配置文件解析

    Nginx配置文件解析

    Nginx 是一款常用的 Web 服务器软件,其配置文件用于指定服务器的行为和功能,本文将给大家详细的解析Nginx配置文件,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2023-09-09
  • Nginx配置Basic Auth登录认证的实现方法

    Nginx配置Basic Auth登录认证的实现方法

    这篇文章主要介绍了Nginx配置Basic Auth登录认证的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Nginx中proxy_pass指令斜杠的作用及说明

    Nginx中proxy_pass指令斜杠的作用及说明

    这篇文章主要介绍了Nginx中proxy_pass指令斜杠的作用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • nginx 镜像中文字符集使用详解

    nginx 镜像中文字符集使用详解

    这篇文章主要为大家介绍了nginx 镜像中文字符集使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • nginx 伪静态Rewrite正则资源汇总

    nginx 伪静态Rewrite正则资源汇总

    本文给大家汇总介绍了nginx中使用rewrite伪静态正则表达式的资源,非常的全面详细,有需要的小伙伴可以参考下
    2016-08-08
  • 利用SSL配置Nginx反向代理的简单步骤

    利用SSL配置Nginx反向代理的简单步骤

    这篇文章主要给大家介绍了关于利用SSL配置Nginx反向代理的简单步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 详解nginx同一端口监听多个域名和同时监听http与https

    详解nginx同一端口监听多个域名和同时监听http与https

    这篇文章主要介绍了详解nginx同一端口监听多个域名和同时监听http与https的相关资料,需要的朋友可以参考下
    2017-05-05
  • Nginx高可用(主从、主主模式)的项目实践

    Nginx高可用(主从、主主模式)的项目实践

    本文介绍了Nginx高可用性的两种主要解决方案,主从架构和主主架构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • Nginx + php 搭建 超性能 WEB 服务器

    Nginx + php 搭建 超性能 WEB 服务器

    Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
    2010-03-03
  • Nginx的搭建与核心配置方法

    Nginx的搭建与核心配置方法

    Nginx是一个高性能的反向代理和 Web服务器软件,最初是由俄罗斯人 Igor Sysoev开发的,其源代码基于双条款BSD许可证发布,因其系统资源消耗低、运行稳定且具有高性能的并发处理能力等特性,这篇文章主要介绍了Nginx的搭建与核心配置,需要的朋友可以参考下
    2024-06-06

最新评论