公司宽带是动态IP,需要使用frp映射很多端口,故需要frp客户端在服务器重启时,自动拉起进程。
总结下客户端自启动的几种方法。
1.使用nohup启动.
nohup /path/to/your/fprc -c /path/to/your/frpc.ini >/dev/null 2>&1 &
[root@my93 ~]#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.使用systemclt来控制,这种方式最适合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 start frpc
sudo systemctl enable frpc
sudo systemctl status frpc
3.使用supervisorctl来控制,这种方式在ubuntu系统上应用效果好.
sudo apt install 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
结束。