2025-03-07
PHP
hyperf3.1、systemd
92

一、配置文件

1.创建文件
mkdir /etc/systemd/system/hyperf/
cd /etc/systemd/system/hyperf/

touch /etc/systemd/system/hyperf/xxx-xxx-xxx.service
chmod 777 /etc/systemd/system/hyperf/xxx-xxx-xxx.service
vim /etc/systemd/system/hyperf/xxx-xxx-xxx.service
2.文件配置
[Unit]
Description=Hyperf auto start
After=network.target

[Service]
Type=forking
User=root
Group=root

PIDFile=/www/xxx-xxx/xxx-xxx-xxx/runtime/hyperf.pid
WorkingDirectory=/www/xxx-xxx/xxx-xxx-xxx
ExecStart=/usr/bin/php82 /www/xxx-xxx/xxx-xxx-xxx/bin/hyperf.php start

# Restart=no:永不自动重启
# Restart=on-failure:仅当非正常退出时重启(正常:systemctl stop xxx;非正常:kill -9 pid)
# Restart=always:任何情况都重启
Restart=on-failure
RestartSec=3s

[Install]
WantedBy=multi-user.target
3.开机启动
# 重新加载配置
chmod 644 /etc/systemd/system/hyperf/xxx-xxx-xxx.service
systemctl daemon-reload

# 加入开机启动
systemctl enable /etc/systemd/system/hyperf/xxx-xxx-xxx.service

# 立即启动服务
systemctl start xxx-xxx-xxx.service
systemctl stop xxx-xxx-xxx.service
systemctl restart xxx-xxx-xxx.service

# 查看服务状态
systemctl status xxx-xxx-xxx.service

二、注意事项

1.命令:sh hyperf.sh stop
sh hyperf.sh stop:非正常退出命令,退出后,系统会自动重启hyperf进程;
systemctl stop xxx-xxx-xxx.service:正常退出命令