惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
P
Proofpoint News Feed
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
美团技术团队
D
Docker
博客园 - Franky
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

Allen Hua 的网络博客

由于 Linux 桌面没有一个好用的天气程序就写了一个跨平台的CheckitoutWeather 给 caesium-image-compressor 图片压缩程序构建了 Linux AppImage v2.8.5 最新版 debian13(debian trixie)安装了nvidia闭源驱动后从x11切换到wayland的方法 山间摩旅追风,偶遇一场绚烂晚霞 最近使用debian系统的一些心得 机械革命无界14Pro笔记本debian forky成功驱动内置扬声器和麦克风 记录 typecho 1.2.0 升级到 1.3.0 过程 开发了一款openwrt插件:文本剪贴板 解决机械革命笔记本内屏高刷240Hz闪屏问题 使用 Java 写了一个局域网端口扫描器 - Allen Hua 的网络博客 openwrt使用外置根extroot机制扩展根分区大小 - Allen Hua 的网络博客 将机场ss节点批量转换成ss字符串链接批量添加到passwall - Allen Hua 的网络博客 给机械革命钛钽plus换屏:NY2换成NZ2 - Allen Hua 的网络博客 记录一次pve宿主机和上面的debian虚机无故down机事件 - Allen Hua 的网络博客 给图床部署cdn腾讯云的edgeone并排查Cache-Control max-age 3600的问题 - Allen Hua 的网络博客 从高山草甸到徽派古村:武功山反穿与皖浙赣自驾行记 - Allen Hua 的网络博客 增程器就是充电宝?别被忽悠了 - Allen Hua 的网络博客 浦口龙虎巷扫街,记录人间真实 博客图片压缩方案更新|AVIF|WebP|MozJPEG|标准JPEG Windows 电脑使用 Obs Studio 录制各个网站视频/桌面画面教程 为typecho博客添加latex支持 新能源汽车之纯电车使用交流慢充和直流快充的充电损耗对比 2025年3月更新全国5A景区名录 2025最新查看小米/红米手机电池健康度和循环次数方法 完美解决 seafile FILE_SERVER_ROOT 配置导致的内网外网不能同时访问和上传下载的问题 纯css实现typecho博客文章文字spoiler剧透效果 我对Typecho Facile主题的一些修改,图片懒加载优化,样式定制 2024年8月我的宜昌 - 重庆 - 川西小环线自驾旅行分享 2022年打卡南京市区人防工程纳凉点 2024年带着A7C2+腾龙28-200 再次来到红山森林动物园
给 Java 应用和 React 应用部署 systemd 开机自启
Allen Hua · 2021-12-29 · via Allen Hua 的网络博客
阅读量:2792

warning: 这篇文章距离上次修改已过1609天,其中的内容可能已经有所变动。

思路就是编写启动和停止的 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~~~