itLinkedInPocketCopy前回の記事でmariaDBとFast-cgiが主な負荷になっていることが判明しました。今回はFast-cgiの設定とuhttpdをnginxに切り替えてみます。phpinfoでPHPを調べてみるとServer-APIの項目がCGI/FastCGIとなっていました。これをFPM/FastCGIに変更する方法を説明します。uhttpdは/etc/config/uhttpdを設定するだけで動きましたが、nginxは設定がややこしく、openwrt公式だけ見ても非常にわかりにくいです。nginx公式も参考にしたほうがいいでしょう。nginxでphpを動かすためにはphp-fpmに処理を任せています。そのため、nginxとphp-fpmの設定を個別に行う必要があります。php-fpmは/etc/php7-fpm/www.confです。wikiの通りにphp.locationsを設定しただけでは動きません。ここではまずnginxでphpinfoを表示させることにします。今回もluciを使わない設定で行っていますのでluciを使いたい人は他サイトを参考にしてください。php7-fpmNginxのserverブロックデフォルト設定は/etc/nginx/conf.d/_lan.confにあります。LANにつないでいる機器の全てのポート80と443を受け付ける設定になっています。自動的にopenwrt自己署名証明書_lan.crtと_lan.keyが作成されます。ここではLetsEncryptの証明書を用いますので_lan.confを用いません。'_lan’のラインを消します。nginx.conf(httpブロック)とexample.conf(serverブロック)とphp.locations(phpブロック)の3つのファイルに分けてそれをinucludeします。以下のような形で内包しています。/etc/nginx/nginx.conf├──/etc/nginx/example.com.conf└──etc/nginx/php.locations/etc/nginx/fastcgi_paramsに以下を加えます。conf.d/*.locations;}あとは公式の通りにphp.locationsを加えます。10s;はエラーが出たのでアンコメントしました。v7.4.9の情報が並びますのでモジュールの状態を確認してみるとcgi-fcgi,core,date,hash,libxml,pcre,posix,Reflection,SPL,standard,zlibとなっていました。hashがすでに入っているのでphp7-mod-hashがなくなっているようです。デフォルトではPHP-FPMの実行ユーザーがnobodyとなっていました。openwrtはデフォルトではwww-dataグループがあるのに、よくあるwww-dataユーザーがありません。...サイトリニューアルしばらく環境を再構築していたため、サイトが404になっていました。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。