Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

Nginx 1.7.10 (FastCGI module)とPHP (php-fpm)による動的コンテンツサーバの構築

こんにちは、鯨井貴博@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

f:id:opensourcetech:20150212140941p:plain

f:id:opensourcetech:20150212140951p:plain

 

そして、yumでNginx1.7.10をインストールします。

yum insall nginx

f:id:opensourcetech:20150212140957p:plain

 

/usr/sbin/nginx -Vとすると、

configureの引数がチェック出来ます。

f:id:opensourcetech:20150212141002p:plain

 

続いて、php関連のパッケージをインストール。

yum install php*

f:id:opensourcetech:20150212141037p:plain

 

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

f:id:opensourcetech:20150212141056p:plain

 

www.confの内容

-------

user = nginx

group = nginx

f:id:opensourcetech:20150212141044p:plain

f:id:opensourcetech:20150212141050p:plain

 

続いて、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;

}

f:id:opensourcetech:20150212141112p:plain

 

nginxを起動します。

netstatで起動確認もしておきます。

/etc/init.d/nginx start

netstat -tan | grep 80

 f:id:opensourcetech:20150212141122p:plain

 

iptables(FW)にも外部からのアクセスに必要なTCP80への許可を行います。

iptables -I INPUT 5 -p tcp --dport 80 -j ACCEPT

iptables -L --line-numbers

f:id:opensourcetech:20150212141134p:plain

 

そして、index.phpを/usr/share/nginx/htmlへ作成。

今回は、phpinfoを出力するものにしました。

 

index.php

-------

<?php

phpinfo();

?>

f:id:opensourcetech:20150212141156p:plain

 

nginxおよびphp-fpmを自動起動しておきます。

chkconfig nginx on

chkconfig php-fpm on

chkconfig --list | grep -E "(nginx|php-fpm)"

f:id:opensourcetech:20150212141218p:plain

 

PHPのセッション保持用のディレクトリについても、

グループをapacheからnginxに変更しておきます。

chown root:nginx /var/lib/php/session/

f:id:opensourcetech:20150212141244p:plain

 

そして、クライアントのブラウザからアクセスし、

PHPのテストページが表示されればOKです。

あとは、好きにPHPを書いてやれば動的コンテンツサーバの完成です。

f:id:opensourcetech:20150212141251p:plain

 

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

Opensourcetech by Takahiro Kujirai