组织介绍

6.系统部署

6.1.前置软件:

打包编译软件:IntelliJ IDEA、Node18、HBuilderX、WebStorm/Vscode
服务器安装软件:Java8/11、Mysql8、Redis6、Nginx、LibreOffice、SourceHanSansOLD-Normal-2字体,系统语言设置为中文

6.2.后端打包

先用IntelliJ IDEA打开source\background\wdd项目,打开application-prod.yml文件,修改配置文件

system:
  resource:
    stop-word-path: 指向邮件中的resource下的stop-word目录
    local-store: true
    file:
      location: 指向邮件中的resource下的web-file目录
      url: 本地存储访问地址,配合nginx使用
logging:
  file:
    path: /usr/log/wdd/admin
jodconverter:
  local:
    office-home: LibreOffice目录
spring:
  servlet:
    multipart:
      location: 指向邮件中的resource下的servlet目录
  redis:
    host: localhost
    database: 7
  datasource:
    url:  数据库连接地址
    username: 数据库用户名
    password: 数据库密码
    driver-class-name: com.mysql.cj.jdbc.Driver

输入图片说明

6.3.前端打包

用WebStorm/Vscode打开source\front\wdd-user-web和\source\front\wdd-admin项目,并执行下面命令进行打包:

npm install --registry https://registry.npmmirror.com  
npm run build

打包完成后会生成2个目录:wdd-admin和wdd-user-web

6.4.移动端打包

用HBuilderX打开 source\front\wdd-user-mobile项目,修改source\front\wdd-user-mobile\utils\ common.js文件

const Web_URL = '移动端Nginx中H5部署地址';
const Api_URL = '移动端Nginx中H5部署地址';
const Key = '97bfgFsqU3PKbG2n';
const Token_Store_Key = 'wdd-user-mobile-token'
const Copyright = '武汉思维跳跃科技有限公司 提供技术支持'

输入图片说明

点击菜单栏 -> 发行 -> 网站PC/H5
输入图片说明

成功后会有个路径,打开就能看到h5版本的打包文件
输入图片说明

6.5.服务器部署

在服务器上新建目录 /usr/local/wdd/release和 /usr/local/wdd/web
把邮件中的resource目录移动到 /usr/local/wdd/resource下
把后端项目的打包jar文件移动到/usr/local/wdd/release下
把前端打包的文件移动到/usr/local/wdd/web下,移动端的h5版本,移动到/usr/local/wdd/web/wdd-user-mobile下

输入图片说明

进入到/usr/local/wdd/release目录,分别执行下面命令即可启动项目。如果有启动问题,可到/usr/log/wdd下查阅错误日志。

nohup java  -Duser.timezone=Asia/Shanghai  -jar -Dspring.profiles.active=prod   wdd-user-web-5.6.0.jar  > start1.log  2>&1 &
nohup java   -Duser.timezone=Asia/Shanghai   -jar -Dspring.profiles.active=prod   wdd-user-mobile-5.6.0.jar  > start2.log  2>&1 &
nohup java   -Duser.timezone=Asia/Shanghai   -jar -Dspring.profiles.active=prod   wdd-admin-5.6.0.jar  > start3.log  2>&1 &

将邮件中的nginx配置复制到服务器上的nginx中,前端即配置完成。Nginx配置文件已配置好,无需其他修改。

server {
    client_max_body_size 10m;
    listen 6001;
    server_name  wdd-user-web;
    root         /usr/local/wdd/web/wdd-user-web;
    index        index.html;
    location /api/ {
       proxy_pass  http://localhost:5999;
    }
}


server {
    client_max_body_size 1024m;
    listen 6003;
    server_name  wdd-admin;
    root         /usr/local/wdd/web/wdd-admin;
    index        index.html;
    location /api/ {
       proxy_pass  http://localhost:6002;
       proxy_read_timeout 300;
    }
}


server {
    listen 6006;
    server_name wdd-user-mobile;
    root /usr/local/wdd/web/wdd-user-mobile;
    index index.html ;
    location / {
      try_files $uri $uri/ /index.html;  # 定向到前端入口文件
    }
    location /api/ {
       proxy_pass  http://localhost:6007;
    }
}



server {
    listen 6008;
    server_name  wdd-web-file;
    add_header Access-Control-Allow-Origin '*';
    add_header Access-Control-Allow-Methods 'GET';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    location ~ .*\.(gif|GIF|jpg|JPG|jpeg|JPEG|png|PNG|mp4|MP4|pdf|PDF|xls|XLS|xlsx|XLSX|doc|DOC|docx|DOCX|ppt|PPT|pptx|PPTX|MP3|mp3)$ {
       root  /usr/local/wdd/resource/web-file;
       autoindex on;
    }
}

6.6安装libreoffice

yum remove libreoffice*
tar -xvf LibreOffice_7.2.4_Linux_x86-64_rpm.tar.gz
cd /usr/local/install/LibreOffice_7.2.4.1_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm
yum install cairo cups-libs libSM

ll /opt/libreoffice7.2
错误1:
error while loading shared libraries: libcairo.so.2: cannot open shared object file: 
解决方案:
yum install cairo
/opt/libreoffice7.2/program/soffice --version
yum install cups-libs
/opt/libreoffice7.2/program/soffice --version
yum install libSM
/opt/libreoffice7.2/program/soffice --version

6.7服务器上部署目录结构

[root@xa-adrs wdd]# echo $PWD && tree -C -L 3 -N
/usr/local/wdd
.
├── log
│   ├── wdd-user-mobile
│   │   ├── wdd.20240802.log
│   │   ├── wdd.20240804.log
│   │   └── wdd.20240805.log
│   └── wdd-user-web
│       └── wdd.20240802.log
├── release
│   ├── start1.log
│   ├── start2.log
│   ├── start3.log
│   ├── wdd-admin-10.0.0.jar
│   ├── wdd-user-mobile-10.0.0.jar
│   └── wdd-user-web-10.0.0.jar
├── resource
│   ├── servlet
│   │   └── temp.txt
│   ├── stop-word
│   │   ├── 反动词汇.txt
│   │   ├── 广告.txt
│   │   ├── 政治类.txt
│   │   ├── 敏感词.txt
│   │   ├── 暴恐词库.txt
│   │   ├── 民生词库.txt
│   │   ├── 涉枪涉爆违法信息关键词.txt
│   │   ├── 网址.txt
│   │   └── 色情词库.txt
│   └── web-file
│       └── template
└── web
    ├── wdd-admin
    │   ├── assets
    │   ├── components
    │   ├── favicon.ico
    │   └── index.html
    ├── wdd-user-mobile
    │   ├── assets
    │   ├── hybrid
    │   ├── index.html
    │   └── static
    └── wdd-user-web
        ├── assets
        ├── components
        ├── favicon.ico
        └── index.html

20 directories, 25 files

7.多实例部署

7.1 创建启动用户及目录

sudo useradd -m -s /bin/bash app
mkdir -p /usr/local/wdd/release
mkdir -p /var/log/wdd/wdd-user-mobile
mkdir -p /var/log/wdd/wdd-user-web
mkdir -p /var/log/wdd/wdd-admin
sudo chown -R app:app /usr/local/wdd/release
sudo chown -R app:app /var/log/wdd

7.2 创建systemd启动脚本

7.2.1 wdd-user-mobile

sudo vi /etc/systemd/system/wdd-user-mobile@.service
[Unit]
Description=WDD User Mobile Instance on Port %i
After=network.target

[Service]
Type=simple
User=app
WorkingDirectory=/usr/local/wdd/release
ExecStart=/usr/bin/java \
  -Duser.timezone=Asia/Shanghai \
  -Dspring.profiles.active=prod \
  -Dserver.port=%i \
  -jar wdd-user-mobile-10.0.0.jar
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

7.2.2 wdd-user-web

sudo vi /etc/systemd/system/wdd-user-web@.service
[Unit]
Description=WDD User Web Instance on Port %i
After=network.target

[Service]
Type=simple
User=app
WorkingDirectory=/usr/local/wdd/release
ExecStart=/usr/bin/java \
  -Duser.timezone=Asia/Shanghai \
  -Dspring.profiles.active=prod \
  -Dserver.port=%i \
  -jar wdd-user-web-10.0.0.jar
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

7.2.3 wdd-admin

sudo vi /etc/systemd/system/wdd-admin@.service
[Unit]
Description=WDD Admin Instance on Port %i
After=network.target

[Service]
Type=simple
User=app
WorkingDirectory=/usr/local/wdd/release
ExecStart=/usr/bin/java \
  -Duser.timezone=Asia/Shanghai \
  -Dspring.profiles.active=prod \
  -Dserver.port=%i \
  -jar wdd-admin-10.0.0.jar
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

7.2.4 启动服务

systemctl daemon-reload

# wdd-user-mobile可以启动多个实例
systemctl start wdd-user-mobile@6071
systemctl start wdd-user-mobile@6072
systemctl start wdd-user-mobile@6073

# wdd-user-web可以启动多个实例
systemctl start wdd-user-web@5999
systemctl start wdd-user-web@5998
systemctl start wdd-user-web@5997
systemctl start wdd-user-web@5996

# admin 仅需启动一个实例即可
systemctl start wdd-admin@6002
成就
0
Star
0
Fork
成员(1)
wangyuanbo

搜索帮助