比systemctl更快捷的简易开机自启

对于客户端来说,需要设定 systemctl 开机自启动和常驻,减少轻量错误,减少人工去机房的次数。

对于服务端来说,由于用 systemctl 看日志信息不方便,故还是用 nohup ./frps -c ./frps.ini & 启动,这样方便随时看连接日志,并且服务端放在云上,机器本身由云服务厂商运维,即便frp server错误,也可以远程登录上去重启frp server。

sudo vim /etc/bash.bashrc 这个需要重启后进入中断才执行。 所以用这个重启frpc不太好,约等于没用。

需要用 /etc/rc.local,但是在ubuntu20版本中取消了,所以要自己添加。

sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
sudo touch /etc/rc.local
sudo chmod +x /etc/rc.local

vim /etc/rc.local

#!/bin/bash

cd /home/cpr/Desktop/frp_0.37.0_linux_amd64 && nohup ./frpc -c frpc.ini &

在ubuntu18下上述方法在不手动进入shell终端前可能不生效

故此处依然展示frp在ubuntu18中设置systemctl开机自动+守卫进程方法。

找到下载下来的frp.server文件修改之。(StandardOutput, StandardError, SyslogIdentifier负责重定向进程输出)

[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/gdp/caopeirui/frp_0.37.0_linux_amd64/frpc -c /home/gdp/caopeirui/frp_0.37.0_linux_amd64/frpc.ini
ExecReload=/home/gdp/caopeirui/frp_0.37.0_linux_amd64/frpc reload -c /home/gdp/caopeirui/frp_0.37.0_linux_amd64/frpc.ini

StandardOutput=syslog
StandardError=syslog


[Install]
WantedBy=multi-user.target

将服务加入systemctl识别目录

sudo ln -s /home/gdp/caopeirui/frp_0.37.0_linux_amd64/systemd/frpc.service /lib/systemd/system/frpc.service

Note that, 如果报错 status=203/ex ,修改.service文件中的user=root

修改 /lib/systemd/system/ 中文件后,需执行 sudo systemctl daemon-reload才能被systemctl识别到。

查看已有服务

systemctl list-unit-files

设置开机自启

sudo systemctl enable frpc.service

启动服务

sudo systemctl start frpc.service
posted @ 2021-10-13 18:40  VeyronC  阅读(184)  评论(0编辑  收藏  举报