frp客户端后台自启动设置,及报错记录
公司宽带是动态IP,需要使用frp映射很多端口,故需要frp客户端在服务器重启时,自动拉起进程。
总结下客户端自启动的几种方法。
1.使用nohup启动.
nohup /path/to/your/fprc -c /path/to/your/frpc.ini >/dev/null 2>&1 &
#nohup /app/frp_0.27.0_linux_amd64/frpc -c /app/frp_0.27.0_linux_amd64/frpc.ini >/dev/null 2>&1 &
或者cd到文件目录执行:nohup ./frpc -c frpc.ini >/dev/null 2>&1 &
2.使用systemctl来控制,这种方式最适合Centos及redhat系统.
$sudo vim /lib/systemd/system/frpc.service
在frpc.service里写入以下内容
[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/app/frp_0.27.0_linux_amd64/frpc -c /app/frp_0.27.0_linux_amd64/frpc.ini #启动服务的命令,写frpc的实际执行绝对路径
[Install]
WantedBy=multi-user.target
$sudo systemctl daemon-reload
$sudo systemctl enable frpc.service
$sudo systemctl start frpc.service
3.使用supervisorctl来控制.
$sudo apt install supervisor或yum install -y supervisor
#安装服务
$sudo vim /etc/supervisor/conf.d/frpc.conf
写入如下内容:
[program:frpc]
command=/bin/bash -c "/app/frp_0.27.0_linux_amd64/frpc -c /app/frp_0.27.0_linux_amd64/frpc.ini" #frpc的真实执行路径
directory=/app/frp_0.27.0_linux_amd64
autostart=true
autorestart=true
startsecs=10
startretries=10
user=root
ubuntu@ubuntu:/etc/supervisor/conf.d$ sudo supervisorctl status
[sudo] password for ubuntu:
frpc RUNNING pid 8608, uptime 4:44:07
值得注意的是,配置supervisor后,需要设置开机自启systemctl enable supervisord
并验证是否开机启动:systemctl is-enabled supervisord
结束。