他設定


mod_proxy_fcgi

PHP-FPMと組み合わせる場合。
いくつか書き方があるというかシチュエーションによるというか
なんか面倒くさい(´・ω・`)

・前提
Directoryディレクティブ内には書けない(マニュアル直ってない)
VirtualHostはVirturalHostごとに書く
さらに必要ならLocationごとに書く
・最近の基本
 2.4.7からSocket可。2.4.10から下記書式可。直感的にわかりやすくなった。
<FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost/"
    #SetHandler "proxy:fcgi://127.0.0.1:9000/"
</FilesMatch>
<Proxy "fcgi://localhost/" enablereuse=Off>
#<Proxy "fcgi://127.0.0.1:9000/" enablereuse=Off>
    # URIはSetHandlerのパイプ先と同値であること。任意の文字列でよい。
    # enablereuse は 2.4.11 から。それ以前は disablereuse=On で同等。
    # 規定値はreuseしないので書かなくてもよい。
    # CentOS7のRPM版(2.4.6)は(dis|en)ablereuseを設定出来るが効かず、常にreuseしないぽい。
    # reuseするとPHP側のプロセス数に余りがあっても2回目以降接続できなくなってしまったので
    # reuseしない方がよさそう。
</Proxy>
<Proxy>ディレクティブはスキーマへの設定値を入れるためにある様子。
・基本
<LocationMatch "^/.*\.php$">
    ProxyPass fcgi://127.0.0.1:9000/usr/local/apache2/htdocs/
</LocationMatch>
ドキュメントルートなどまで指定する。
・基本2
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/local/apache2/htdocs/$1
基本と同じ意味。
・Alias切ってる
Alias /xxxxx /path/to/xxxxx
ProxyPassMatch ^/xxxxx\/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/xxxxx/$1

など。socketはpatchをあてないとダメみたい。 2.4.7から可能。

mod_cidr_lookup

2.4でAPIの変更があり、そのままではmakeが通らないので修正する。

mod_cidr_lookup.c:371: error: 'conn_rec' has no member named 'remote_addr'
というエラー。

mod_cidr_lookup.c 371行目
sockaddr = r->connection->remote_addr;
↓
sockaddr = r->connection->client_addr;

トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-10-10 (月) 10:30:23