[質問内容]
デフォルトでインストールされるphp-fpm起動用スクリプトをsystemctlに登録する際に
実行時の引数 --daemonize を --nodaemonize にしないと動作しない件について
--daemonize と --nodaemonize の違いをご教授頂きたいです。
検証環境コンディション
(1) OS => CentOS 7系
(2) PHP => php 7.1.13
(3) nginx => nginx/1.12.2
上記コンディションでPHPをソースコードからビルドし
インストールしました。
php-fpm起動用のスクリプトを
php-fpm start
php-fpm stop
と動作させると正常に動作したのでこれをsystemctlに登録して
php-fpmの起動,停止,再起動を平易にしたかったのですが,
shell
1 2[Unit] 3Description=The PHP fast CGI Manger 4After=network.target remote-fs.target nss-lookup.target 5 6 7[Service] 8Type=simple 9ExecStart=/etc/rc.d/init.d/php-fpm start 10ExecStop=/etc/rc.d/init.d/php-fpm stop 11#ExecStop=/bin/kill ${MAINPID} 12Restart = no 13user = nginx 14group = nginx 15 16[Install] 17WantedBy=multi-user.target 18 19
とりあえず上記のようにphp-fpm.serviceとして登録しました。
結論動作せず,困っていましたが冒頭の対応で
systemctl (start|stop|restart) php-fpm
上記内容で動作することを現状確認しております。
shell
1 2 start) 3 echo -n "Starting php-fpm " 4 #以下の箇所を --daemonize から --nodaemonizeへ修正しました 5 #$php_fpm_BIN --daemonize $php_opts 6 $php_fpm_BIN --nodaemonize $php_ops 7 8 if [ "$?" != 0 ] ; then 9 echo " failed" 10 exit 1 11 fi 12 13 wait_for_pid created $php_fpm_PID 14 15 if [ -n "$try" ] ; then 16 echo " failed" 17 exit 1 18 else 19 echo " done" 20 fi 21 ;; 22
結果として --nodaemonとdaemonの違いなのかなと検討をつけたのですが
詳細なちがいに躓いておりますます。
よろしくお願い致します。
あなたの回答
tips
プレビュー