啟動配置文件
process_name=%(program_name)s_%(process_num)02d
command=/usr/local/php/bin/php /workspace/dev0/ctjy_socket_server/start.php start -d
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/workspace/dev0/ctjy_socket_server/storage/logs/worker.log
然后啟動時 $ supervisorctl start all
報 ctjypt-socket-server_00: ERROR (abnormal termination)
查看日志發(fā)現(xiàn)
Fatal error: Uncaught Exception: can not save pid to /var/run/workerman.pid in /workspace/dev0/ctjy_socket_server/vendor/workerman/workerman/Worker.php:1031
Stack trace:
#0 /workspace/dev0/ctjy_socket_server/vendor/workerman/workerman/Worker.php(457): Workerman\Worker::saveMasterPid()
#1 /workspace/dev0/ctjy_socket_server/start.php(41): Workerman\Worker::runAll()
#2 {main}
thrown in /workspace/dev0/ctjy_socket_server/vendor/workerman/workerman/Worker.php on line 1031
``
試圖修改 $ chmod -R 777 /var/run/ 也不行
然后配置 啟動文件
```php
require_once __DIR__ . '/vendor/autoload.php';
Worker::$pidFile = __DIR__ . '/storage/workerman.pid';
還是報上面一樣的錯誤
Fatal error: Uncaught Exception: can not save pid to /var/run/workerman.pid
但是 php start.php status 又顯示啟動了
如果 直接在控制臺輸入 php start.php start -d 則沒有任務(wù)問題
請問使用supervisor 守護(hù)怎么操作
現(xiàn)在發(fā)現(xiàn) 如果是在控制臺運行
發(fā)現(xiàn) /workspace/dev0/ctjy_socket_server/storage/workerman.pid 配置已經(jīng)生效了
不知道為什么 supervisor 會不按配置里的走 會把它住 /var/run 里保存
cat /var/log/supervisor/supervisord.log
2018-04-04 14:20:18,796 INFO spawned: 'ctjypt-socket-server_00' with pid 14772
2018-04-04 14:20:18,835 INFO exited: ctjypt-socket-server_00 (exit status 0; not expected)
2018-04-04 14:20:19,836 INFO gave up: ctjypt-socket-server_00 entered FATAL state, too many start retries too quickly