2つのスクリプトのうち、呼び出される側のfastcgi-wrapper.plは特に手を加えることなく動作するので、curlでダウンロードしてから実行権を付与しておしまいです。/usr/bin/fastcgi-wrapper.pl一方、perl-fastcgiのinitスクリプトには手を加える箇所がいくつかあります。次のコードは、perl-fastcgiのinitスクリプトをダウンロードし、それに16個のsedコマンドで手を加えています。${PERLFCGIDAEMON}ここでは、initスクリプトに手を加えている16個のsedコマンドの処理を解説します(以下の1~16)。逐次実行するようにして解説しますが、もちろん実際には一気に実行されます。処理を確認するためのイメージとしてお読みください。${PERLFCGIDAEMON}このsedコマンドを実行する前のinitスクリプトはこのようになっています。/opt/nginx/logs/nginx.pid置換後はこれらdescriptionが一気に削除されます。'(^#[[:space:]][ndpc][gerio]*)'(何も表示されない)2・3descriptionがないのも不都合なので追加するとはいえ、descriptionがないのも不都合なので追加しています。2行目と3行目に「#」のみが書かれている空のコメント行があったので、ここに文字列を追加します。${PERLFCGIDAEMON}それでは確認してみましょう。${PERLFCGIDAEMON}このsedコマンド実行後の確認結果は次のようになります。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。'^(nginx=|perlfastcgi)'nginx="/opt/nginx/sbin/nginx"実行後、変数名がnginxからperlfastcgiに、変数の中身も/opt/nginx/sbin/nginxから/usr/bin/fastcgi-wrapper.plに変わりました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。$nginx)sedコマンド実行後、prog変数の中身がnginxからperlに置換されました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。'(^NGINX_[[:alnum:]_=\"\\./]*)'NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"sedコマンド実行後は「NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"」が削除されました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。'^(lockfile=)'lockfile=/var/lock/subsys/nginxsedコマンド実行後は、lockfile変数の中身がnginxからperl-fastcgiに変わりました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。5sedコマンド実行後は、testコマンドの条件式が、「もしnginxが実行可でなければ」から「もしperl-fcgiが実行可でなければ」に書き換わりました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。6sedコマンド実行後は、nginxの設定ファイルがなければステータス6で終了する処理の行が削除されました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。$NGINX_CONF_FILEsedコマンド実行後は、デーモンとして動かすコマンドがnginxからfastcgi-wrapper.plに変わりました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。$?sedコマンド実行後はこれらの行が削除されました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。start」に変わりました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。}sedコマンド実行後は、これら3行(configtest関数実行部分)が削除されました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。3restart|configtest)$1;;sedコマンド実行後は、case文の引数判定がrestartのみに変更されました。${PERLFCGIDAEMON}上記sedコマンド実行前はこういう状態です。{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"sedコマンド実行後は、末尾のconfigtestが削除されました。ヤスタカ)サーバーエンジニアとして主にLinuxのWEBサーバーを設計、構築、運用を行っています。運用ツールの相棒としてシェルスクリプトやワンライナーは心強いパートナーと信じて疑わず、ブログでTIPSを公開しています。2009年5月のUSP友の会活動開始より参画し、現副会長。サーバー運用お助けTips」を執筆しています。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。12:00法務担当者、6割超が今後業務で「生成AIを使用したい」と回答。12:00オルツ、日本語RAGでは軽量型LLMとして世界最高の精度と推論速度を達成した「LHTM-OPT2」をリリース新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。