Linux将服务设置为开机自启
- 如果要将服务设置为开机自启,首先要有服务的启动、停止的文件
- 下文将示例linux下vue项目的启动加入开机自启
首先新建3个启动类文件,catalina.sh(项目总体脚本) startup.sh(项目启动脚本) shutdown.sh(项目停止脚本)
1.在opt下面创建目录 vue-project
cd /opt
mkdir vue-project
2.在目录下创建这3个文件(在哪儿创建都行,我是创建到了这个目录下)
vim catalina.sh
#!/bin/bash
if [ "$1" = "start" ];then
## 这个path是我存放vue文件的路径
path="/home/tyj/tyj-template-web"
echo $path
cd $path
## 这个path是我存放vue文件的路径,给它赋个权限
chmod 777 /home/tyj/tyj-template-web/node_modules/.bin/webpack-dev-server
## 这个是vue的启动命令
npm run dev
elif [ "$1" = "stop" ];then
echo "service stop"
input1="dev-server.js"
PIDS=$(ps -ef | grep $input1|awk '{print $2}')
echo $PIDS
for i in $PIDS
do
echo $i
kill -9 $i
done
echo "vueproject stop"
fi
vim startup.sh
#!/bin/bash
nohup /opt/vue-project/catalina.sh start &
vim shutdown.sh
#!/bin/bash
exec /opt/vue-project/catalina.sh stop
ps:到这一步了,可以先试试你的配置文件是否正常,正常的话进行下一步,sh文件启动命令 sh startup.sh
建立系统服务
vim /usr/lib/systemd/system/vueproject.service
[unit]
Description=Vue Web Application Container
After=network.target
[Service]
Type=forking
##########路径修改为刚才那三个文件的路径
ExecStart=/opt/vue-project/startup.sh
ExecStop=/opt/vue-project/shutdown.sh
[Install]
WantedBy=multi-user.target
chmod 754 /usr/lib/systemd/system/vueproject.service
将服务设置为开机自启
systemctl enable vueproject.service
systemctl start vueproject.service #启动服务
systemctl status vueproject.service #查看服务状态
systemctl stop vueproject.service #停止服务
ps: vue项目启动需要安装node,linux安装node服务请移步:
linux安装node服务
文章参考:
https://blog.csdn.net/lawliet1217/article/details/84560545
https://www.linuxprobe.com/centos7-systemct-server.html