nginxでphp-fpmを使う

ちょっと別にサイトを作ってて、確か書いたよな~とか思って
わらしのBlogを検索したのですが、書いてなかったので・・・・。

前提としてはこんな感じです。
 epelリポジトリが追加されている
 phpが既にyum install済み
 nginxが既にyum install済み

ここまで準備できているということは・・・
「とりあえずnginx入れたけどまだ何も動かしてない状態」から始める事になります。

1.まずは肝心のパッケージをインストールしましょう。

# yum install php-fpm

2.php-fpmサービスの設定変更
ほとんど設定触らなくても動きますが、ちょっとだけ直しましょう。
変更点としては、こんな感じです。
・デフォルトでローカルホストの9000番待ち受けなのを、socketに変更。
・実行ユーザ・グループが、apacheなんで、nginxに変更。

# diff www.conf www.conf_orig
12c12
< listen = /var/run/php5-fpm.sock
---
> listen = 127.0.0.1:9000
39c39
< user = nginx
---
> user = apache
41c41
< group = nginx
---
> group = apache

3.php-fpmサービスの起動
無事インストールできたら、php-fpmなサービスを起動します。
こいつが動いてないと何も始まりませんしw
ほとんど設定いらないのもありがたい話です。
手動で起動できたら、自動起動するようにするのをお忘れなく。

# systemctl start php-fpm
# systemctl status php-fpm
php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled)
   Active: active (running) since 金 2015-01-16 22:58:32 JST; 10s ago
 Main PID: 5995 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/php-fpm.service
           tq5995 php-fpm: master process (/etc/php-fpm.conf)
           tq5996 php-fpm: pool www
           tq5997 php-fpm: pool www
           tq5998 php-fpm: pool www
           tq5999 php-fpm: pool www
           mq6000 php-fpm: pool www

 1月 16 22:58:32 prixy.admkazuya.org systemd[1]: Started The PHP FastCGI Pro...
Hint: Some lines were ellipsized, use -l to show in full.
[root@prixy nginx]# systemctl enable php-fpm
ln -s '/usr/lib/systemd/system/php-fpm.service' '/etc/systemd/system/multi-user.target.wants/php-fpm.service'

4.nginxの設定変更
たいしたことはありませんが、必要なんでやっちゃいましょう。

        location / {
                root   /usr/share/wordpress;
                index   index.php;

                if (!-e $request_filename) {
                        rewrite ^/(.*)$  /index.php?q=$1 last;
                        break;
                }
        }

        location ~ \.php$ {
                fastcgi_pass   unix:/var/run/php5-fpm.sock;
                fastcgi_index  index.php;
                #fastcgi_split_path_info ^/(.+\.php)(.*)$;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_intercept_errors on;
                include fastcgi_params;
        }

さ、後はphpを置いて表示してみてください!

コメント

タイトルとURLをコピーしました