打包编译软件:IntelliJ IDEA、Node18、HBuilderX、WebStorm/Vscode
服务器安装软件:Java8/11、Mysql8、Redis6、Nginx、LibreOffice、SourceHanSansOLD-Normal-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

用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
用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版本的打包文件

在服务器上新建目录 /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;
}
}
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
[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
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
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
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
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
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