ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
前提
- OS: CentOS 7 系(他ディストリでもパッケージ名を読み替えれば同様)
- PHP: 7.1 以降(実運用では PHP 8.x 推奨)
- Nginx はインストール済みで
nginx -vが通る状態
全体構成
Nginx は Apache の mod_php のように PHP インタプリタを内蔵していません。代わりに FastCGI プロトコルで外部の PHP プロセス(PHP-FPM)にリクエストを丸投げし、結果を受け取って返します。
[Browser]
|
| HTTP
v
[Nginx] ----- FastCGI(TCP 9000) -----> [PHP-FPM] ---> *.php を実行
|
| Nginx は静的ファイルだけ自分で返す(CSS/JS/画像など)
1. PHP-FPM のインストール
EPEL + Remi リポジトリを有効化して、必要なバージョンの PHP-FPM を入れます。バージョン番号 (php71) は環境に合わせて読み替えてください。
# Remi リポジトリの追加(未追加の場合)
yum -y install epel-release
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# PHP-FPM 本体(必要に応じて mbstring / mysqlnd / xml 等も追加)
yum -y install --enablerepo=epel,remi,remi-php71 \
php-fpm php-mbstring php-mysqlnd php-xml php-gd
インストール後は php -v でバージョンを確認しておきましょう。
2. Nginx の設定
/etc/nginx/nginx.conf(または /etc/nginx/conf.d/site.conf)を編集します。
vi /etc/nginx/nginx.conf
以下のような server ブロックを追加・編集します。ハイライト部分が PHP を動かすために最低限必要な設定です。
server {
listen 80;
server_name test.com;
root /var/www/test/public;
index index.php index.html index.htm;
# 通常リクエストは存在ファイル → ディレクトリ → index.php の順に解決
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# .php へのアクセスを PHP-FPM へ FastCGI で渡す
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# .ht* など隠しファイルは公開しない
location ~ /\.ht {
deny all;
}
}
設定反映:
# 設定の文法チェック
nginx -t
# 反映
systemctl restart nginx
3. PHP-FPM の設定
FPM 側でも Nginx と合わせるための調整が必要です。
vi /etc/php-fpm.d/www.conf
以下の項目を nginx で動くように変更します。
; プロセスの実行ユーザ・グループ(apache → nginx)
user = nginx
group = nginx
; 待ち受け先(Nginx の fastcgi_pass と一致させる)
listen = 127.0.0.1:9000
; ソケットを使う場合は以下に置き換え
; listen = /run/php-fpm/www.sock
; listen.owner = nginx
; listen.group = nginx
; listen.mode = 0660
FPM の起動と自動起動:
systemctl start php-fpm
systemctl enable php-fpm
systemctl status php-fpm
4. 動作確認
ドキュメントルートに info.php を作成して PHP が動くことを確認します。
<?php
phpinfo();
ブラウザで http://test.com/info.php を開き、phpinfo の表が表示されれば成功です。確認後は必ず削除してください(環境情報が漏れます)。
TCP ソケット vs Unix ソケット
| 方式 | fastcgi_pass / listen | 特徴 |
|---|---|---|
| TCP | 127.0.0.1:9000 | 分離マシンや Docker でも使いやすい / オーバーヘッドはやや高い |
| Unix ドメインソケット | unix:/run/php-fpm/www.sock | 同一ホスト内で最速 / パーミッション管理が必要 |
よくあるエラーと対処
| 症状 | 原因 / 対処 |
|---|---|
| PHP ファイルがダウンロードされる | location ~ \.php$ が無い / Nginx を再起動していない |
| 502 Bad Gateway | PHP-FPM 停止 or ポート不一致。systemctl status php-fpm と ss -lntp | grep 9000 で確認 |
| 404 Not Found(.php だけ) | fastcgi_param SCRIPT_FILENAME のパス不一致。root と一致させる |
| 白画面 / 500 | FPM 側の権限不足。/var/log/php-fpm/error.log と nginx の error.log を必ず両方見る |
| Permission denied on socket | Unix ソケット時の所有者ずれ。listen.owner / listen.group を nginx に合わせる |
| パッケージが入らない | php-fpm のインストールエラー を参照 |
関連
- Nginx — 親カテゴリ
- yum install php-fpm のエラー — インストール時のリポジトリ不足
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?