常规的swoole服务,每次linux重启之后,就得手动开启,比较麻烦,所以更换成linux开机自启的方式。

在/etc/init.d目录下创建start_websocket文件

vi start_websocket

#!/bin/sh
# chkconfig: 23456 90 10 
# description: websocket start

cd xxx #进入程序目录
nohup php index.php websocket/server/start & #后台运行

设置chkconfig,达到开机自启

chkconfig --add start_websocket //新增

chkconfig --del start_websocket //删除

chkconfig --list start_websocket //查看


开启服务:service start_websocket 


或者,可以写成这样

在/etc/init.d目录下创建websocket文件

vi websocket

#!/bin/sh
# chkconfig: 23456 90 10 
# description: start and reload websocket

case "$1" in   
        start)   
                cd xxx #文件路径
		nohup php index.php websocket/server/start & #后台运行
   
                ;;   
        reload)   
                echo "loading..."
		pid=`pidof swoole_websocket` #根据进程名称查询pid
		echo $pid
		kill -USR1 $pid 
		echo "loading success"

                ;;   
        *)   
               echo "Usage: /etc/init.d/websocket {start|reload}" >&2  
                exit 1  
esac

设置chkconfig,达到开机自启

开启服务:service websocket start

重启服务:service websocket reload

这样的写法,只能进行手动开启(重启)服务,暂时没有找到可默认直接开启start的方法

待续。。。


Logo

更多推荐