采用直接修改 /etc/rc.local 文件的方式實現(xiàn)開機啟動。
系統(tǒng)報錯,日志文件如下:
2017-08-15 18:30:35 pid:808 worker start in DAEMON mode
2017-08-15 18:30:35 pid:2437 exception 'PDOException' with message 'SQLSTATE Connection refused' in /www/default/resheng/Gateway/vendor/workerman/gateway-worker/src/Lib/DbConnection.php:1697
Stack trace:
#0 /www/default/resheng/Gateway/vendor/workerman/gateway-worker/src/Lib/DbConnection.php(1697): PDO->__construct('mysql:dbname=re...', 'root', 'My201765', Array)
#1 /www/default/resheng/Gateway/vendor/workerman/gateway-worker/src/Lib/DbConnection.php(1683): GatewayWorker\Lib\DbConnection->connect()
#2 /www/default/resheng/Gateway/vendor/workerman/gateway-worker/src/Lib/Db.php(48): GatewayWorker\Lib\DbConnection->__construct('127.0.0.1', 3306, 'root', 'My201765', 'resheng')
#3 /www/default/resheng/Gateway/Applications/YourApp/Func.php(11): GatewayWorker\Lib\Db::instance('db1')
但是如果手工啟動(php start.php start -d)則完全正常。
百思不得其解,難道是啟動workerman的時候mysql等服務還未啟動???
為了驗證
自動啟動代碼更改為
(
sleep 60
/usr/bin/php /www/default/resheng/Gateway/start.php start -d
)&
再次重啟測試,正常。。 難道真是mysql服務未啟動原因??? 不過最好是判斷mysql服務有無開啟,未開啟則等待,開啟了則啟動workerman ...但這個腳本不會寫了。