Allen Hua's Another Blog
Life is going on, I do what I want.
Home
Categories
Archives
Tags
About
Home
给 Java 应用和 React 应用部署 systemd 开机自启
给 Java 应用和 React 应用部署 systemd 开机自启
取消
给 Java 应用和 React 应用部署 systemd 开机自启
由
dk11
发布于 2021-12-29
·
最后更新:2021-12-29
91
思路就是编写启动和停止的 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~~~
study
java
react
linux
shell
该博客文章由作者通过
CC BY 4.0
进行授权。
分享
最近更新
打卡南京市区人防工程纳凉点
Linux 利用 openssl 生成随机密码
收集、推荐一些白噪声网站
华强买瓜和高级特工穿山甲原版台词,要求全文背诵
OpenWrt 安装 shadow-gpasswd 从组中删除用户
热门标签
Java
笔记
随笔
日记
网络
Telegram
docker
GitHub
n1
随想
文章目录
OpenWrt 安装 shadow-gpasswd 从组中删除用户
leanote 蚂蚁笔记数据库迁移到新的环境账号邮件无法验证/未验证情况的解决办法