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

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

在一台服务器上部署两套前后端分离的系统,并使用 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 地址来部署两套前后端分离的系统。

相关文章:

  • Docker 环境安装步骤
  • 《初级社会工作者》考试题,附答案解析
  • 蓝桥杯16天刷题计划一一Day01
  • 2007-2019年各省地方财政一般公共服务支出数据
  • 《C语言实现金字塔图案打印》
  • 【新手初学】读取数据库数据
  • 服务器数据恢复—多块硬盘出现坏道导致raid5阵列崩溃的数据恢复案例
  • linux 常见命令使用介绍
  • python每日十题(13)
  • CentOS 7 部署RuoYi 项目
  • MES系统需要采集的数据及如何采集
  • Problem D: 抽象类
  • 【大模型】激活函数之SwiGLU详解
  • Windows 10更新失败解决方法
  • Linux 下安装和使用 Jupyter Notebook
  • 安全性测试(Security Testing)
  • CMake 简单使用总结
  • MCP 智能聊天助手示例项目
  • Day31-代码随想录-最大二叉树654+合并二叉树617+二叉搜索树中的搜索700
  • C 预处理器:编译前的文本魔法
  • 江苏城乡建设网站/seo每天一贴博客
  • 中国效能建设网站/网站推广优化方案
  • 网站建设的需求方案/5年网站seo优化公司
  • 工程造价定额在哪查/兰州网络推广关键词优化
  • 股票app开发价格/站长工具 seo查询
  • 成都现在的疫情情况怎么样/网站seo如何做好优化