ELAdmin 部署

后端部署

按需修改 application-prod.yml
例如验证码方式、登录状态到期时间等等。
修改完成后打好 Jar 包
ELAdmin 部署_第1张图片
执行完成后会生成最终可执行的 jar。JPA版本是 2.6,MyBatis 版本是 1.1。
ELAdmin 部署_第2张图片
启动命令

nohup java -jar eladmin-system-2.6.jar --spring.profiles.active=prod > nohup.out 2>&1 &

如果使用了CICD 工具,可能还需要停止的

PID=$(ps -ef | grep eladmin-system-1.1.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill -9 $PID
kill -9 $PID
fi

配置 nginx,可以是 http的 80 端口,也可以是 https的 443 端口。

server {
    listen 80;
    server_name 域名/当前服务器外网IP;
    location / {
        proxy_pass http://127.0.0.1:8000; #这里的端口记得改成项目对应的哦
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        }
    }

如果是 443

    server {
        listen       443 ssl;
        server_name  eladmin.luotayixing.com;
        ssl_certificate      ssl/eladmin.luotayixing.com_bundle.crt;
        ssl_certificate_key  ssl/eladmin.luotayixing.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
                proxy_pass http://127.0.0.1:8000;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-Port $server_port;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }
    }

另外,nginx头部需要指定用户,默认是 nobody,可以换成对应用户,测试可以用 root

#user  nobody;
user root;

前端部署

鉴于本人前端能力实在有限,只测试了History 模式的,这里也不会介绍 Hash模式。
前面已经将后端部署上了,如果要本地启动的时候直接访问后端的接口,就需要修改.env.development,比如改成下面这样(如要后端配置了 80 端口,或者 80 和 443 都配置了)

ENV = 'development'

# 接口地址
# VUE_APP_BASE_API  = 'http://localhost:8000'
# VUE_APP_WS_API = 'ws://localhost:8000'
VUE_APP_BASE_API  = 'http://eladmin.luotayixing.com'
VUE_APP_WS_API = 'ws://eladmin.luotayixing.com'

# 是否启用 babel-plugin-dynamic-import-node插件
VUE_CLI_BABEL_TRANSPILE_MODULES = true

构建之前,修改下.env.production,比如改成 https 的

ENV = 'production'

# 如果使用 Nginx 代理后端接口,那么此处需要改为 '/',文件查看 Docker 部署篇,Nginx 配置
# 接口地址,注意协议,如果你没有配置 ssl,需要将 https 改为 http
VUE_APP_BASE_API  = 'https://eladmin.luotayixing.com'
# 如果接口是 http 形式, wss 需要改为 ws
VUE_APP_WS_API = 'wss://eladmin.luotayixing.com'

执行npm run build:prod,或者用 idea,打开 package.json,点击对应行前面的箭头
ELAdmin 部署_第3张图片
执行完成后,根目录下的 dist 就是生成好的,可以放到服务器上
ELAdmin 部署_第4张图片

配置 nginx,如果是 80端口

server
    {
        listen 80;
        server_name 域名/外网IP;
        index index.html;
        root  /home/wwwroot/eladmin/dist;  #dist上传的路径
        # 避免访问出现 404 错误
        location / {
          try_files $uri $uri/ @router;
          index  index.html;
        }
        location @router {
          rewrite ^.*$ /index.html last;
        }  
    } 

如果是 443 端口

    server {
        listen       443 ssl;
        server_name  mp.luotayixing.com;
        ssl_certificate      ssl/mp.luotayixing.com_bundle.crt;
        ssl_certificate_key  ssl/mp.luotayixing.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        index index.html;
        root  /root/eladmin/dist/;
        location / {
          try_files $uri $uri/ @router;
          index  index.html;
        }
        location @router {
          rewrite ^.*$ /index.html last;
        }
    }

完成后重启 nginx,访问配置好的域名,比如本人的是https://mp.luotayixing.com/

你可能感兴趣的:(2024,EL-Admin,的使用,ELAdmin,Java,部署,https)