Centos7实现开机自启EasySwoole

2020-09-10 18:40:20 浏览数 (1)

局域网服务器实现开机自启EasySwoole服务

需求:前段时间刚用写了教程安装centos系统,后面就内网利用EasySwoole实现Tcp服务端,为保持容错,避免断电造成服务死机而无法维护

在启动文件目录添加配置文件

vm /usr/lib/systemd/system/easyswoole.service

添加如下内容

随便利用cat查看一个.service的文件即可看到如下相似内容

代码语言:javascript复制
[Unit]
Description=The EasySwoole Process Manager  //这是描述
After=syslog.target network.target

[Service]
User=root	//用户(建议使用root权限)
Group=root	//组
Type=forking
ExecStart=/usr/bin/php /usr/share/nginx/html/doc/easyswoole start d  //easyswoole项目的根目录
ExecReload=/usr/bin/php  /usr/share/nginx/html/doc/easyswoole reload
ExecStop=/usr/bin/php  /usr/share/nginx/html/doc/easyswoole stop

[Install]
WantedBy=multi-user.target

重装配置文件

systemctl daemon-reload


接下来先不要尝试启动程序,因为有个大坑

查看项目根目录下的easyswoole启动文件(当前版本3.3.7)

defined('EASYSWOOLE_ROOT') or define('EASYSWOOLE_ROOT', IN_PHAR ? Phar::running() : realpath(getcwd()));

将realpath(getcwd())替换为__DIR__

getcwd()是在哪个文件里被调用显示此文件目录,而__DIR__写在哪个文件就显示这个文件目录

启动easyswoole

systemctl start easyswoole

浏览器访问ok,依次尝试停止和重启,访问也ok

设置开启启动

systemctl enable easyswoole

依次进行测试,发现也ok

也可用命令来查看当前服务状态

systemctl status easyswoole

0 人点赞