Linux 上将 FineReport 设置为 Systemd 服务(图文操作)
目录
- 前言
- 正文
前言
🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF
Window的部署,可看官网介绍:
Web 應用服務器開機自啓動
最新历史版本 :关闭或重启FineReport工程
历史版本7 :Linux下Tomcat开机自启动 (我和官网有些差异,不过知识差不多)
下文主要针对Linux!
基本知识推荐阅读:
- 详细分析Linux中Systemd的基本知识(附Demo)
- mysql中出现Unit mysql.service could not be found 的解决方法
正文
使用 vim 或 nano 创建服务文件:sudo vim /etc/systemd/system/finereport.service
基本信息:
[Unit]
Description=FineReport Service
After=network.target[Service]
User=root
Group=root
WorkingDirectory=/opt/finereport
ExecStart=/opt/finereport/bin/startup.sh
ExecStop=/opt/finereport/bin/shutdown.sh
Restart=always
LimitNOFILE=65535[Install]
WantedBy=multi-user.target
实际数据的信息如下:
[Unit]
Description=FineReport Service
After=network.target[Service]
User=root
Group=root
WorkingDirectory=/home/finereport/tomcat-linux
ExecStart=/bin/bash /home/finereport/tomcat-linux/bin/startup.sh > /home/finereport/tomcat-linux/logs/systemd.log 2>&1
ExecStop=/bin/bash /home/finereport/tomcat-linux/bin/shutdown.sh
Restart=on-failure
RemainAfterExit=yes
PIDFile=/home/finereport/tomcat-linux/work/catalina.pid
LimitNOFILE=65535[Install]
WantedBy=multi-user.target
截图如下:
WorkingDirectory
:FineReport 的安装目录,替换为你的路径ExecStart
:FineReport 启动脚本路径ExecStop
:FineReport 关闭脚本路径User & Group
:运行 FineReport 的用户(可以修改为 finereport 用户)
后续赋予相关的权限:
chmod 777 /home/finereport/tomcat-linux/bin/startup.sh
chmod 777 /home/finereport/tomcat-linux/bin/shutdown.sh
并让其生效:
sudo systemctl daemon-reload # 重新加载 systemd 配置
sudo systemctl reset-failed # 清除 start-limit 保护
sudo systemctl start finereport # 启动 FineReport
截图如下:
最后让其开机自启:sudo systemctl enable finereport
如果使用这种方式之后,不要用sh单独的命令启动,因为web服务默认只能让一个进程注册,即使服务起了两个,注册码只有一个!