検索
検索
Sakakibara Hiroshi / 榊󠄀原 寛
文書の表示
以前のリビジョン
トレース:
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
= [[apache]] ====== PHP-FPM [2021-05-27] ====== PHP FastCGI Process Manager の略.PHP の処理を,Apache などの中で行うのではなく,別のプロセスにおいて処理をしている模様. NextCloud の [[https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#tune-php-fpm|Server Tuning ページ]] にて,PHP-FPM が紹介されていたので,設定してみた. - PHP の ports において,FPM ビルドを有効にする.<code> % cd /usr/ports/lang/php74 % make config </code><code> ┌─────────────────────────────── php74-7.4.19 ─────────────────────────────────┐ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │ [x] CLI Build CLI version │ │ │ │ [x] CGI Build CGI version │ │ │ │ [x] FPM Build FPM version │ │ │ │ [x] EMBED Build embedded library │ │ │ │ [ ] PHPDBG Interactive PHP debugger │ │ │ │ [ ] DEBUG Build with debugging support │ │ │ │ [x] DTRACE Build with DTrace probes │ │ │ │ [x] IPV6 IPv6 protocol support │ │ │ │ [x] MYSQLND Build with MySQL Native Driver │ │ │ │ [x] LINKTHR Link thread lib (for threaded extensions) │ │ │ │ [x] ZTS Force Zend Thread Safety (ZTS) build │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ ├──────────────────────────────────────────────────────────────────────────────┤ │ < OK > <Cancel> │ └──────────────────────────────────────────────────────────────────────────────┘ </code> - /etc/rc.conf にて,php-fpm の自動起動を設定しておく.<code> php_fpm_enable="YES" </code> - /usr/local/etc/apache24/httpd.conf の中の mod_php を無効化・PHP の処理を FPM に渡す・渡すためにの proxy module の有効化,をそれぞれ行う.<code> # 以下の proxy 関係の module のコメントを外す(有効化する) LoadModule proxy_module libexec/apache24/mod_proxy.so LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so # PHP module の無効化 #LoadModule php7_module libexec/apache24/libphp7.so # 9000 番で起動している FPM プロセスに proxy する. <FilesMatch "\.php$"> SetHandler "proxy:fcgi://127.0.0.1:9000/" </FilesMatch> </code> - Apache 及び FPM の再起動<code> % /usr/local/etc/rc.d/apache24 restart </code> ===== 参考情報 ===== * FreeBSD 12 で自宅サーバ作成 Webサーバ編:https://qiita.com/Chun3/items/286e567952cd9faf279f * かなり詳細な記述で一番参考にしたかもしれない. ------------------------------------------------------------ ====== http2 [2021-05-27] ====== HTTP2 は,SSL/TLS を必須としつつも,トランスポートレイヤから上を全部独自実装しつつ,各ファイルの通信を一つのセッションの中で行うようにしたもの(という理解)なので,小さなファイルのやりとりが多い場合などに,パフォーマンス工場の度合が激しい.[[https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-http-2-for-faster-loading|NextCloud の Server Tuning ページ]]でもやるべきと記述されていたので,設定してみた. NextCloud の写真フォルダのロードは,体感で 5 〜 10 倍レベルで速くなった.これは,絶対に設定しとくべき. /usr/ports/www/mod_http2 というものと,apache24 に付属の http2 モジュールの両方がある模様.正直どちらが正しいのかは良く分からない... * httpd.conf にて,以下のモジュールを有効化 <code> LoadModule http2_module libexec/apache24/mod_h2.so </code> * /usr/local/etc/apache24/extra/httpd-ssl.conf の VirtualHost 設定内で,利用する Protocls の記述追加 <code> Protocols h2 http/1.1</code> ===== AH00052 child pid 81693 exit signal Segmentation fault (11) [2021-10-16] ===== Apache のマイナーバージョンを上げたら,このエラーが. デバッグまでがっつりやるのも面倒で,適当に ports を再インストール(=再コンパイル)していたら,mod_http2 を再コンパイルしたところで復活. 以前似たようなエラーが出た際は,php 関連だった気がする. Apache のマイナーバージョンアップをする場合でも,mod_* 系や PHP 系も再コンパイルしておくべきな気がした.まる. ------------------------------------------------------------ ====== virtualhost 環境で一つの documentroot に対して複数の servername をつけたい. ====== ServerName の代わりに ServerAlias を使う. <code> <VirtualHost a.b.c.d> ServerAlias hoge.jp *.hoge.jp baka.jp ... </VirtualHost> </code> ------------------------------------------------------------ ====== php をアップグレードしたら、pukiwiki でエラーが出る ====== * 以下のようなエラー <code> Runtime error Error message : UA_INI_FILE for "" not found. </code> * php5-pcre が利用しようとしている pcre ライブラリが古いものになっていることが多い。phpinfo の pcre の部分参照。2002 年とか古いものになっているはず。 * /var/db/ports/php5-pcre/options 内に以下の記述を追加/変更 <code> WITH_BUNDLED_PCRE=true </code> * apache2.0 と連携させている場合、上記のようにしないと、pcre がうまく動作しない。
apache.txt
· 最終更新: 2021/10/16 21:50 by
skk
文書の先頭へ