ELAdmin 部署

后端部署

按需修改 application-prod.yml

例如验证码方式、登录状态到期时间等等。

修改完成后打好 Jar 包

执行完成后会生成最终可执行的 jar。JPA版本是 2.6,MyBatis 版本是 1.1。

启动命令

bash 复制代码
nohup java -jar eladmin-system-2.6.jar --spring.profiles.active=prod > nohup.out 2>&1 &

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

bash 复制代码
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 端口。

bash 复制代码
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

bash 复制代码
    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

bash 复制代码
#user  nobody;
user root;

前端部署

鉴于本人前端能力实在有限,只测试了History 模式的,这里也不会介绍 Hash模式。

前面已经将后端部署上了,如果要本地启动的时候直接访问后端的接口,就需要修改.env.development,比如改成下面这样(如要后端配置了 80 端口,或者 80 和 443 都配置了)

bash 复制代码
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 的

bash 复制代码
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,点击对应行前面的箭头

执行完成后,根目录下的 dist 就是生成好的,可以放到服务器上

配置 nginx,如果是 80端口

bash 复制代码
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 端口

bash 复制代码
    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/

相关推荐
gobeyye27 分钟前
spring loC&DI 详解
java·spring·rpc
鱼跃鹰飞28 分钟前
Leecode热题100-295.数据流中的中位数
java·服务器·开发语言·前端·算法·leetcode·面试
我是浮夸31 分钟前
MyBatisPlus——学习笔记
java·spring boot·mybatis
TANGLONG22238 分钟前
【C语言】数据在内存中的存储(万字解析)
java·c语言·c++·python·考研·面试·蓝桥杯
杨荧40 分钟前
【JAVA开源】基于Vue和SpringBoot的水果购物网站
java·开发语言·vue.js·spring boot·spring cloud·开源
Leighteen1 小时前
ThreadLocal内存泄漏分析
java
java6666688881 小时前
Java中的对象生命周期管理:从Spring Bean到JVM对象的深度解析
java·jvm·spring
柚乐果果2 小时前
数据分析实战简例
java·大数据·python
我焦虑的编程日记2 小时前
【RabbitMQ】RabbitMQ学习
java·数据库·java-ee
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑2 小时前
JavaWeb(二)
java·数据仓库·hive·hadoop·maven