差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
apache [2012/11/14 14:00] – 外部編集 127.0.0.1apache [2021/10/16 21:50] (現在) skk
行 1: 行 1:
-[[apache]] +[[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 をつけたい.  ====== ====== virtualhost 環境で一つの documentroot に対して複数の servername をつけたい.  ======
 ServerName の代わりに ServerAlias を使う. ServerName の代わりに ServerAlias を使う.
行 10: 行 84:
 </code> </code>
  
 +------------------------------------------------------------
 ====== php をアップグレードしたら、pukiwiki でエラーが出る  ====== ====== php をアップグレードしたら、pukiwiki でエラーが出る  ======
   * 以下のようなエラー   * 以下のようなエラー
apache.1352869252.txt.gz · 最終更新: 2012/11/14 14:00 by 127.0.0.1
文書の先頭へ
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0