JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx单个端口启动多个后端or前后端分离的项目

wys521 2024-10-08 11:26:30 精选教程 19 ℃ 0 评论

在我们做项目,特别是政府一类的项目,对于公网端口的开放难上加难。那么我们如何使用一个端口进行多个后端项目甚至是多个前后端分离项目的部署呢。首先可以采用Tomcat容器,但是现在不香了。今天我们采用Nginx代理的方式,实现一个端口访问多个前后端分离的项目。

话不多说上代码:

worker_processes  1;

events {
  worker_connections  1024;
}

http {
  include       mime.types;
  default_type  application/octet-stream;
  sendfile        on;
  keepalive_timeout  65;

  server {
    listen       8090;
    server_name  localhost;
    charset utf-8;

    location /sys {
      alias  D:\demo\sys\ui;
      try_files $uri $uri/ /sys/index.html;
      index  index.html;
    }

    location /sys-api/ {
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://localhost:7001/sys/;
    }

    location /usr {
      alias  D:\demo\usr\ui;
      try_files $uri $uri/ /usr/index.html;
      index  index.html;
    }

    location /usr-api/ {
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://localhost:7002/usr/;
    }

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

我们监听的8090端口,各位小伙伴可以按照自己开放的端口来配置。

我简单讲解一下流程:

  1. 首先,访问如下地址

http://ip:8090/sys/index.html

http://ip:8090/usr/index.html

可以访问不同的前端工程。


  1. 前端工程,根据不同的上下文路径访问到不同的后端接口。

例如:sys前端项目访问/sys-api;usr前端项目访问/usr-api;

  1. 两个后端工程的端口分别为7001和7002;上线文路径分别为/sys和/usr
  2. 使用nginx反向代理两个服务地址,如上述代码。

整理不易,希望有所帮助,Good Bye!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表