女子WEBエンジニアのTechメモスマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。読者です読者をやめる読者になる読者になる女子WEBエンジニアのTechメモ都内の某企業でマーケッターやってます。営業→WEBエンジニア・オフショア開発チーム駐在→マーケッター(SEO)ちょっと便利だなと思ったことをメモしています。2016-09-23apache再起動にはrestartよりもgracefulを使うべきインフラシェアするBookmark!FacebookTwitterGoogle+Pocketわたし「vhosts変更したので、サーバーの再起動をお願いします。gracefulで大丈夫です」後輩「gracefulってなんですか?」このやりとり、わたしも昔やったなあと思いつつ、復習がてらにまとめておきます。stopapacheの再起動のコマンドと違い(restart/condrestart/reload/graceful)restartWEBサービスを今すぐ終了して再起動を行います。実行中のリクエストの処理は中止されます。親プロセス:子プロセスをすべて終了後、親プロセスも終了。起動処理の際に親プロセスのIDは変更されます。TERMシグナルを送信してプロセスを即時終了した後(=停止処理)、連続して開始処理を行います。開始処理の際に、設定の変更が適用されます。condrestartWEBサービスを今すぐ終了して再起動を行います。実行中のリクエストの処理は中止されます。restartの処理と流れは同じですが、apacheが起動されているときのみ再起動が行われます。reloadWEBサービスを終了しないで、変更した設定の反映を行う。実行中のリクエストの処理は中止されます。子プロセス:HUPシグナル(SIGHUP)が送信され、子プロセスが終了します。親プロセス:終了しません。子プロセスがすべて終了したあと、親プロセスは設定を再読込して変更を適用します。親プロセスをとめずに、変更後の設定の反映だけを行いたい場合に使用します。gracefulWEBサービスを終了しないで、変更した設定の反映を行います。実行中のリクエストの処理は中止されません。子プロセス:USR1シグナルが送信され、子プロセスが終了します。実行中のリクエスト処理が完了した後に、子プロセスの終了が行われます。親プロセス:子プロセスをすべて終了後、親プロセスは設定を再読込して変更を適用します。restartよりもgracefulを使うわけgracefulの場合、実行中のリクエストを即時終了しないので、他の開発者やサービス利用中のユーザーに優しいのです。ゲーム機のコンセントを引き抜くお母ちゃんと、「今のダンジョン終わったらコンセント抜くからねー終わったら教えてねー」と声かけてくれるお母ちゃんと、どっちがいいか?というと後者ですよね・・・とはいえ、gracefulだと反映されない設定変更もあるので、gracefulでも反映されない場合や、httpd.confとかを変更した場合は、タイミングをみてrestartが良さそうです。graceful-stopというものもapacheを停止するとき、stopでなくgraceful-stopを使うこともできるようです。graceful-stopは、処理中のリクエストが終了をまって、すべての子プロセスを終了し、親プロセスを終了します。設定した時間がすぎると、子プロセス処理中でも、残りの子プロセスにTERMシグナルが送信され、強制終了となります。apacheでエラーになったときはバージョン確認をapacheでエラーになったときに多かったのが、「バージョンによる文法・コマンドの違い」でした。(apacheに限ったことではなく、サーバーや他アプリケーションでも同じことですが・・・!)そのため、「ドキュメント通りにやってるのにエラーになる!」というときは、ドキュメントの対象としているバージョンと現在使っているapacheのバージョンが一致しているか確認しましょう。サーバーのバージョンを確認することで、実行中のapacheのバージョンを確認できます。違いがよくわからない。Basic認証配下のページで、Facebook/Twitt...ajaxでフォーム送信をするサンプルコード[...»プロフィール都内の某企業でマーケッター(SEO)やってます。趣味は休日のプログラミング。入社後に営業からWEBエンジニアに職種チェンジし、アジアのオフショア開発チーム駐在→現在。嬉しすぎて小躍りします。Bronzeへの第一歩。私のMacのローカル環境は、MAMPを使って構築しています。Digest認証をかけている開発環境にて、FacebookのOGPタグをテストしたいという状...。