こんにちは、鯨井貴博@opensourcetechです。
今回は、2/10にリリースされたNginx1.7.10とPHP(php-fpm)による
動的コンテンツサーバを構築してみようと思います。
なお、ベースOSとしてはCentOS6.6(64bits)を使用しています。
まず、Nginxをyumにてインストール出来るよう、
/etc/yum.repos.dにレポジトリファイルを作成します。
nginx.repo
-------
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
そして、yumでNginx1.7.10をインストールします。
yum insall nginx
/usr/sbin/nginx -Vとすると、
configureの引数がチェック出来ます。
続いて、php関連のパッケージをインストール。
yum install php*
php-fpmがインストール出来たら、
/etc/php-fpm.d配下にあるwww.confを編集します。
vi /etc/php-fpm.d/www.conf
編集後、php-fpmを起動します。
netstatで起動確認もしておきます。
/etc/init.d/php-fpm start
netstat -tan | grep 9000
www.confの内容
-------
user = nginx
group = nginx
続いて、nginxの設定を行います。
vi /etc/nginx/conf.d/defaulg.conf
編集内容
-------
server_name "www.kujirai.test.local";
location / {
root /usr/share/nginx/html;
index index.php index.html index.htmi;
}
location ~ \.php$ {
root /usr/share/nginx/html;
index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
nginxを起動します。
netstatで起動確認もしておきます。
/etc/init.d/nginx start
netstat -tan | grep 80
iptables(FW)にも外部からのアクセスに必要なTCP80への許可を行います。
iptables -I INPUT 5 -p tcp --dport 80 -j ACCEPT
iptables -L --line-numbers
そして、index.phpを/usr/share/nginx/htmlへ作成。
今回は、phpinfoを出力するものにしました。
index.php
-------
<?php
phpinfo();
?>
nginxおよびphp-fpmを自動起動しておきます。
chkconfig nginx on
chkconfig php-fpm on
chkconfig --list | grep -E "(nginx|php-fpm)"
PHPのセッション保持用のディレクトリについても、
グループをapacheからnginxに変更しておきます。
chown root:nginx /var/lib/php/session/
そして、クライアントのブラウザからアクセスし、
PHPのテストページが表示されればOKです。
あとは、好きにPHPを書いてやれば動的コンテンツサーバの完成です。