virtualbox(centos)でnginx+php-fpm設定メモ(virturalhostの設定まで)


環境 centos6.3（ゲストOS）macosx10.8(ホストOS)

[nginxを以前入れた](http://qiita.com/items/f4d32b90d74a3c7a60f4)のだが肝心のphpの設定をまだ指定なかったので設定のメモ。
※上記エントリーと関連性がありません。単独でphp-fpmをインストールした場合の設定メモです。
ついでに普段複数のサイトを開発する場合に必要なvirtualhostの設定まで

## 注意事項

* nginxがインストール済みの状態であること。インストールをしていない場合は[virtualbox(centos)でnginxインストールメモ](http://qiita.com/items/f4d32b90d74a3c7a60f4)を参照してください。
* ここから先は全てroo(権限)ユーザーで実行しています
* 開発環境構築の話です。本番環境などはもっと詳しいブログをみつけてください。

## 参考にしたサイト
* [nginx+php-fpmでPHPを動かす。その3](http://www.nullpop.net/?p=215)
* [CentOS NginxとPHPの連携)](http://www.happytrap.jp/blogs/2012/02/25/8299/](http://d.hatena.ne.jp/yoshi-ken/20120205)
* [nginxバーチャルホスト設定（http、server、locationブロック）](http://shiken.infrabu.info/nginx/nginx%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9B%E3%82%B9%E3%83%88%E8%A8%AD%E5%AE%9A/)


## php-fpmのインストール

centos標準のリポジトリにはないのでremiリポジトリから取得する
remiのリポジトリの設定がない場合は[外部リポジトリの追加（remi,epel）](http://qiita.com/items/662e41376efa97251575)を参照してください。

```shell
yum --enablerepo=remi install php-fpm


Loaded plugins: fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
135 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-fpm.x86_64 0:5.4.12-1.el5.remi will be installed
--> Processing Dependency: php-common = 5.4.12-1.el5.remi for package: php-fpm-5.4.12-1.el5.remi.x86_64
--> Running transaction check
---> Package php-common.x86_64 0:5.4.12-1.el5.remi will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================
 Package                 Arch                Version                         Repository         Size
=====================================================================================================
Installing:
 php-fpm                 x86_64              5.4.12-1.el5.remi               remi              1.5 M
Installing for dependencies:
 php-common              x86_64              5.4.12-1.el5.remi               remi              1.0 M

Transaction Summary
=====================================================================================================
Install       2 Package(s)

Total download size: 2.5 M
Installed size: 10 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): php-common-5.4.12-1.el5.remi.x86_64.rpm                                | 1.0 MB     00:04     
(2/2): php-fpm-5.4.12-1.el5.remi.x86_64.rpm                                   | 1.5 MB     00:04     
-----------------------------------------------------------------------------------------------------
Total                                                                259 kB/s | 2.5 MB     00:09     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : php-common-5.4.12-1.el5.remi.x86_64                                               1/2 

WARNING : These php-* RPM are not official Fedora/Redhat build and
overrides the official ones. Don't file bugs on Fedora Project nor Redhat.

Use dedicated forums http://forums.famillecollet.com/

  Installing : php-fpm-5.4.12-1.el5.remi.x86_64                                                  2/2 
  Verifying  : php-common-5.4.12-1.el5.remi.x86_64                                               1/2 
  Verifying  : php-fpm-5.4.12-1.el5.remi.x86_64                                                  2/2 

Installed:
  php-fpm.x86_64 0:5.4.12-1.el5.remi                                                                 

Dependency Installed:
  php-common.x86_64 0:5.4.12-1.el5.remi                                                              

Complete!

```

入った。

## php-fpmの確認

### バージョン確認

```shell
php-fpm -v
PHP 5.4.12 (fpm-fcgi) (built: Feb 20 2013 14:06:12)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
```

### php-fpmの起動

```shell
/etc/init.d/php-fpm start
php-fpm を起動中: 
```

## nginxの設定

nginxにPHPの設定を追加しましょう

```shell:/etc/nginx/conf.d/default.conf
vim /etc/nginx/conf.d/default.conf



server {
    listen       80;
    server_name  lo.test.org;
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /home/web/lo.test.org/www$fastcgi_script_name;
        include        fastcgi_params;
    }
}

server {
    listen       80;
    server_name  lo.sample.org;
    root   /home/web/lo.sample.org/www;
    index  index.php index.html index.htm;
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /home/web/lo.sample.org/www$fastcgi_script_name;
        include        fastcgi_params;
    }
}

```

serverディレクティブにそれぞれ server_nameを追加してserverディレクティブのlocationの項目にroot(apacheで言うドキュメントルート)を追加する。
fastcgi_paramにはドキュメントルート+$fastcgi_script_nameを追加する

## nginxの起動

apacheと一緒

```shell
/etc/init.d/nginx restart


httpd を停止中:                                            [  OK  ]
nginx を起動中:                                            [  OK  ]
```

## 動作確認用のphpファイルを設置

いつもどおりで

```php:ドキュメントルート/phpinfo.php 
<?php
phpinfo();
```

上記の設定の場合は
/home/web/lo.sample.org/www/phpinfo.php
/home/web/lo.test.org/www/phpinfo.php
の２つに設定してください。

## 動作確認

上記の設定の場合は
http://lo.sample.org/phpinfo.php
http://lo.test.org/phpinfo.php
でphpinfoの中身が見えればOK!!


一番php-fpmがイマイチピンとこなくてnginxの設定に億劫でしたがやってみたら意外と簡単でしたのでお試しあれ