创建自定义systemctl文件
vim /usr/lib/systemd/system/frpc.service
编写systemctl文件
[Unit] # 主要是服务说明
Description=frpc start # 简单描述服务
After=network.target # 描述服务类别,表示本服务需要在network服务启动后在启动
#Before=xxx.service # 表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。
[Service] # 核心区域
Type=forking # 表示后台运行模式。
User=root # 设置服务运行的用户
Group=root # 设置服务运行的用户组
KillMode=control-group # 定义systemd如何停止服务
#PIDFile=/home/app/server/frpc # 存放PID的绝对路径
Restart=yes # 定义服务进程退出后,systemd的重启方式,默认是不重启
ExecStart=/home/app/server/frp/frpc -c /home/app/server/frp/frpc.ini # 服务启动命令,命令需要绝对路径
PrivateTmp=true # 表示给服务分配独立的临时空间
[Install]
WantedBy=multi-user.target # 多用户
简写版
[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/app/server/frp/frpc -c /home/app/server/frp/frpc/frpc.ini
[Install]
WantedBy = multi-user.target
例子
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop
ExecQuit=/usr/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#!/bin/bash
[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/app/server/frp/frpc -c /home/app/server/frp/frpc.ini
[Install]
WantedBy = multi-user.target
~