在服务器上启动 RuoYi-App,并通过 Nginx 进行代理配置,使其能够正常访问和运行。
RuoYi-App 是一个基于 RuoYi-Vue 的前端项目,通过 HBuilderX 进行开发和打包,可以生成适用于网站、Android、iOS 和小程序的静态文件。项目与后端完全分离,需要将后端服务和前端静态文件分别部署。
RuoYi-App 的配置文件 config.js,设置后端 API 的 baseUrl。HBuilderX 打包 RuoYi-App 项目,生成静态文件。Nginx。Nginx 进行静态文件的服务和后端 API 的反向代理。ruoyi-app
├── config.js
├── unpackage
│   └── dist
│       └── build
│           └── h5
│               ├── index.html
│               ├── *.js
│               └── *.css
Nginx。Nginx 配置文件路径和静态文件路径正确。config.js在 RuoYi-App 目录下,编辑 config.js 文件,设置后端 API 的 baseUrl。
// 应用全局配置
module.exports = {
  baseUrl: 'https://vue.ruoyi.vip/prod-api',
  // baseUrl: 'http://localhost:8080',
  // 应用信息
  appInfo: {
    // 应用名称
    name: "ruoyi-app",
    // 应用版本
    version: "1.0.0",
    // 应用logo
    logo: "/static/logo.png",
    // 官方网站
    site_url: "http://ruoyi.vip",
    // 政策协议
    agreements: [{
        title: "隐私政策",
        url: "https://ruoyi.vip/protocol.html"
      },
      {
        title: "用户服务协议",
        url: "https://ruoyi.vip/protocol.html"
      }
    ]
  }
}
HBuilderX,加载 RuoYi-App 项目。发行 -> 网站-PC WEB或手机H5。unpackage/dist/build/h5 目录下生成静态文件。unpackage/dist/build/h5 目录下的所有文件上传到服务器,例如 /home/ruoyi/projects/ruoyi-h5 目录。在服务器上编辑 Nginx 配置文件(例如 /etc/nginx/nginx.conf),添加以下配置:
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        location / {
            root   /home/ruoyi/projects/ruoyi-h5;
            try_files uriuri/ /index.html;
            index  index.html index.htm;
        }
        # 默认所有路径
        location /prod-api/ {
            proxy_set_header Host http_host;
            proxy_set_header X-Real-IPremote_addr;
            proxy_set_header REMOTE_HOST remote_addr;
            proxy_set_header X-Forwarded-Forproxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-NginX-Proxy true;
            # 反向代理配置
            proxy_pass http://localhost:8080/;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
sudo nginx -s reload
http://<服务器IP>,可以看到 RuoYi-App 的首页。通过上述步骤,我们成功地在服务器上启动了 RuoYi-App,并通过 Nginx 进行代理配置,使其能够正常访问和运行。这样可以充分利用 Nginx 的静态文件服务和反向代理功能,保证前后端分离架构的高效运行。
powered by kaifamiao