当前位置: 首页 > article >正文

怎么在一台服务器上配置两套不同的前后端分离系统

在一台服务器上部署两套前后端分离的系统,并使用 IP 地址作为 server_name,可以通过配置 Nginx 来实现。以下是一个详细的步骤指南:

步骤

  1. 准备文件和目录结构

    • 确保每套系统的前端文件和后端服务器已经准备就绪。
    • 假设两套系统的前端文件分别位于 /usr/local/app1/frontend/usr/local/app2/frontend
    • 假设两套系统的后端服务分别运行在 http://127.0.0.1:8081http://127.0.0.1:8082
  2. 安装和配置 Nginx

    • 如果尚未安装 Nginx,可以通过包管理器进行安装,例如在 Ubuntu 上使用 sudo apt install nginx
    • 编辑 Nginx 配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/ 目录下。
  3. 配置虚拟主机

    • 在 Nginx 配置文件中添加两个 server 块,分别对应两套系统的前端和后端服务,使用不同的 IP 地址作为 server_name

示例配置

以下是一个 Nginx 配置文件的示例,展示了如何在同一台服务器上使用不同的 IP 地址来部署两套前后端分离的系统:

# /etc/nginx/conf.d/app1.conf
server {
    listen 80;
    server_name 192.168.1.100;

    location / {
        root /usr/local/app1/frontend;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /api/ {
        proxy_pass http://127.0.0.1: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;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# /etc/nginx/conf.d/app2.conf
server {
    listen 80;
    server_name 192.168.1.101;

    location / {
        root /usr/local/app2/frontend;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /api/ {
        proxy_pass http://127.0.0.1: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;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

详细解释

  1. server { ... }:

    • listen 80;: 监听 80 端口(HTTP 默认端口)。
    • server_name 192.168.1.100;: 指定虚拟主机的 IP 地址为 192.168.1.100。对于第二套系统,使用 server_name 192.168.1.101;
  2. location / { ... }:

    • root /usr/local/app1/frontend;: 设置前端文件的根目录为 /usr/local/app1/frontend。对于第二套系统,使用 /usr/local/app2/frontend
    • index index.html;: 设置默认的索引文件为 index.html
    • try_files $uri $uri/ /index.html;: 尝试提供请求的文件,如果文件不存在,则提供 index.html。这对于单页应用(SPA)非常重要,确保前端路由可以正常工作。
  3. location /api/ { ... }:

    • proxy_pass http://127.0.0.1:8081/;: 将 /api/ 路径的请求代理到本地的 127.0.0.1:8081 端口。对于第二套系统,使用 http://127.0.0.1:8082/
    • proxy_set_header: 设置代理请求的头信息,确保后端服务器能获取到客户端的真实信息。

启动和测试

  1. 启动或重启 Nginx:

    sudo systemctl restart nginx
    
  2. 配置 DNS 或本地 hosts 文件:

    • 如果你有多个 IP 地址并且希望使用域名访问,可以通过配置 DNS 或本地 hosts 文件将域名解析到相应的 IP 地址。
    • 例如,在本地 hosts 文件中添加以下内容:
      192.168.1.100 app1.example.com
      192.168.1.101 app2.example.com
      
  3. 测试配置:

    • 打开浏览器,访问 http://192.168.1.100http://192.168.1.101,确保每套系统的前端和后端都能正常工作。

注意事项

  • IP 地址冲突: 确保每个 IP 地址在服务器上是唯一的,并且配置正确。
  • 端口冲突: 确保每套系统的后端服务运行在不同的端口上,避免冲突。
  • 安全性: 考虑使用 HTTPS 并配置 SSL 证书,提高安全性。
  • 负载均衡: 如果需要更高的可用性和性能,可以考虑使用负载均衡器。

通过以上步骤,你可以在一台服务器上使用不同的 IP 地址来部署两套前后端分离的系统。


http://www.kler.cn/a/613037.html

相关文章:

  • 安装Webpack并创建vue项目
  • QT_demo1_calculator
  • 跨境TRS投资操作指南与系统解决方案
  • 关于bug总结记录
  • Java 中各种锁的使用详解
  • Node.js 如何发布一个 NPM 包——详细教程
  • 第R9周:阿尔兹海默症诊断(优化特征选择版)
  • 美摄科技智能汽车车内实时AR特效方案,让出行充满乐趣
  • 神经网络知识
  • 【极速版 -- 大模型入门到进阶】LORA:大模型轻量级微调
  • 智能网联交通加速落地,光路科技TSN技术助推车路云一体化发展
  • 跟着尚硅谷学vue-day1
  • LeetCode 1492 n的第K个因子
  • 浅谈工商企业用电管理的分布式储能设计
  • window系统下安装elk
  • unity一个图片的物体,会有透明的效果
  • 【机器学习】从回声定位到优化引擎:蝙蝠算法在SVR超参数优化中的应用
  • Golang 的 GMP 调度机制常见问题及解答
  • Mininet--log.py-全局函数作用
  • Box86源码剖析(三)