给 Java 应用和 React 应用部署 systemd 开机自启
source link: https://hellodk.cn/post/897
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
给 Java 应用和 React 应用部署 systemd 开机自启
思路就是编写启动和停止的 shell 脚本,然后编写 systemd 配置文件。
我以我之前写的微博热搜实时推送前后端程序为🌰️。欢迎关注我的 微博热搜实时推送
tg 推送频道。 url is https://t.me/weibo_hot_search GitHub: https://github.com/hellodk34/weibo_hot_search
该 Java 应用是这样运行的
java -jar xxx.jar > /dev/null 2>&1 &
该 react应用是这样运行的
serve -s build > /dev/null 2>&1 &
Java 应用
编写 start-wb-hotsearch.sh
文件
注意 jar 文件的绝对路径
#!/bin/bash
/usr/local/java/jdk1.8/bin/java -jar /xxx/wb_hotsearch/wb-hotsearch-2021-12-22.jar > /dev/null 2>&1 &
echo $! > /var/run/wbhotsearch.pid
编写 stop-wb-hotsearch.sh
文件
#/bin/bash
PID=$(cat /var/run/wbhotsearch.pid)
kill -9 $PID
rm -rf /var/run/wbhotsearch.pid
编写 systemd service 文件
在 /usr/lib/systemd/system/
下创建 wbhotsearch.service
文件,内容如下。注意两个shell文件的绝对路径要写对,下面给出的是假的路径
[Unit]
Description=Weibo hot search back end
After=network.target
[Service]
Type=forking
ExecStart=/xxx/wb_hotsearch/start-wb-hotsearch.sh
ExecStop=/xxx/wb_hotsearch/stop-wb-hotsearch.sh
[Install]
WantedBy=multi-user.target
配置 systemd
systemctl daemon-reload
再 enable 然后 start 即可。下面的 status 和 is-enabled 可以帮助查看服务状态
systemctl enable wbhotsearch
systemctl start wbhotsearch
systemctl status wbhotsearch
systemctl is-enabled wbhotsearch
React 应用
殊途同归,React 应用也是如此,下面简要写一下
编写 start-wbhotsearch-front.sh
文件
#!/bin/bash
/usr/bin/serve -s /xxx/wb_hotsearch/wb-hotsearch-front-end/build > /dev/null 2>&1 &
echo $! > /var/run/wbhotsearchfront.pid
编写 stop-wbhotsearch-front.sh
文件
#/bin/bash
PID=$(cat /var/run/wbhotsearchfront.pid)
kill -9 $PID
rm -rf /var/run/wbhotsearchfront.pid
编写 systemd service 文件
在 /usr/lib/systemd/system/
下创建 wbhotsearch-front.service
文件,内容如下。注意两个shell文件的绝对路径要写对,下面给出的是假的路径
[Unit]
Description=Weibo hot search front end service
After=network.target
[Service]
Type=forking
ExecStart=/xxx/wb_hotsearch/wb-hotsearch-front-end/start-wbhotsearch-front.sh
ExecStop=/xxx/wb_hotsearch/wb-hotsearch-front-end/stop-wbhotsearch-front.sh
[Install]
WantedBy=multi-user.target
配置 systemd
systemctl daemon-reload
再 enable 然后 start 即可。下面的 status 和 is-enabled 可以帮助查看服务状态
systemctl enable wbhotsearch-front
systemctl start wbhotsearch-front
systemctl status wbhotsearch-front
systemctl is-enabled wbhotsearch-front
ok了,这下重启机器,我的这些服务将能够自动启动。
之所以没有用 docker,是因为太占空间了,我的 vps 存储空间告急,昨天已经另外申请了 10GB ssd 了,付款了12美元。
done~~~
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK