Nginx 設定 · 1 min read · Jan 24, 2026

Fedora 12 における PHP5 と MySQL サポートを持つ Nginx のインストール - ページ 2

5 nginx の設定

nginx の設定は /etc/nginx/nginx.conf にあり、今開きます:

vi /etc/nginx/nginx.conf

設定は理解しやすいです(詳細についてはここを参照してください: http://wiki.codemongers.com/NginxFullExample とここ: http://wiki.codemongers.com/NginxFullExample2)

まず(これはオプションです)、ワーカープロセスの数を増やし、keepalive_timeout を適切な値に設定できます:

| [...] worker_processes 5; [...] keepalive_timeout 2; [...] |

仮想ホストは server {} コンテナ内で定義されます。デフォルトの vhost を次のように変更しましょう:

| [...] server { listen 80; server_name _; #charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # サーバーエラーページを静的ページ /50x.html にリダイレクト # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # PHP スクリプトを 127.0.0.1:80 でリッスンしている Apache にプロキシ # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # 127.0.0.1:9000 でリッスンしている FastCGI サーバーに PHP スクリプトを渡す # location ~ \.php$ { root html; try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } # .htaccess ファイルへのアクセスを拒否、Apache のドキュメントルートが # nginx のものと一致する場合 # location ~ /\.ht { deny all; } } [...] |

servername ; はこれをデフォルトのキャッチオール vhost にします(もちろん、ここに www.example.com のようなホスト名を指定することもできます)。

location / 部分では、index 行に index.php を追加しました。root /usr/share/nginx/html; はドキュメントルートが /usr/share/nginx/html ディレクトリであることを意味します。

PHP にとって重要な部分は location ~ .php$ {} スタンザです。これをコメント解除して有効にします。root 行をウェブサイトのドキュメントルートに変更してください(例: root /usr/share/nginx/html;)。fastcgi_param 行を fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; に変更することを確認してください。そうしないと、PHP インタープリターはブラウザで呼び出す PHP スクリプトを見つけられません。

ファイルを保存して nginx を再起動します:

/etc/init.d/nginx stop  
/etc/init.d/nginx start

(/etc/init.d/nginx restart を使用できませんでした。なぜなら、これが nginx を停止させたが、起動に失敗したからです - 理由はわかりません…)

次に、ドキュメントルート /usr/share/nginx/html に次の PHP ファイルを作成します…

vi /usr/share/nginx/html/info.php

| |

今、ブラウザでそのファイルを呼び出します(例: http://192.168.0.100/info.php):

ご覧の通り、PHP5 は動作しており、Server API 行に示されているように FastCGI を介して動作しています。さらに下にスクロールすると、MySQL モジュールを含む、すでに PHP5 で有効になっているすべてのモジュールが表示されます:

6 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。