Symfoware

Symfowareについての考察blog

Debian 7 + nginx + php-fpmな環境を構築する

Debian 7(wheezy)に、nginxをインストール。
php-fpmを使用して、phpが動作する環境を作成してみます。



php-fpmのインストール



apt-getでphp-fpmをインストールしました。


# apt-get install php5-fpm



php-fpmの設定ファイルは
「/etc/php5/fpm/php-fpm.conf」

phpの設定ファイルは
「/etc/php5/fpm/php.ini」

に作成されます。



php-fpmの設定ファイルを確認してみます。


# vi /etc/php5/fpm/php-fpm.conf




最後の方に、「/etc/php5/fpm/pool.d/」にある設定ファイルを
読み込む指定があります。


;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ;
;;;;;;;;;;;;;;;;;;;;

; Multiple pools of child processes may be started with different listening
; ports and different management options. The name of the pool will be
; used in logs and stats. There is no limitation on the number of pools which
; FPM can handle. Your system will tell you anyway :)

; To configure the pools it is recommended to have one .conf file per
; pool in the following directory:
include=/etc/php5/fpm/pool.d/*.conf




pool.dにあるwww.confを見てみます。


# vi /etc/php5/fpm/pool.d/www.conf




デフォルトで、/var/run/php5-fpm.sockというソケットが作成されるようになっています。


; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
;                            a specific port;
; 'port'                 - to listen on a TCP socket to all addresses on a
;                            specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = /var/run/php5-fpm.sock



nginxからは、このソケットにリクエストを転送するよう指定します。





php-fpmの起動と自動起動設定



php-fpmを起動してみます。


# /etc/init.d/php5-fpm start



/var/run/php5-fpm.sockが作成されました。


# ls /var/run/ | grep php
php5-fpm.pid
php5-fpm.sock




insservコマンドで、php5-fpmが自動起動するようにしておきます。


# insserv php5-fpm







nginxのインストール



nginxもapt-getでインストールしました。


# apt-get install nginx




起動してみます。


# /etc/init.d/nginx start




ブラウザで、http://[サーバーIP]/を表示。
こんな内容が表示されればOKです。

429_01.png






nginxの設定



拡張子phpのリクエストがきたら、php-fpmにリクエストを
転送するよう設定します。

設定ファイルは「/etc/nginx/sites-enabled/default」


# vi /etc/nginx/sites-enabled/default




デフォルトの設定ファイルにphp-fpmの設定例が記載されていますので、
それを参考に修正します。


location ~ \.php$ {
    # With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}



編集が終わったら、nginxを再起動。


# /etc/init.d/nginx restart




wwwのルートはデフォルトで「/usr/share/nginx/www」になっています。
phpinfoを表示するプログラムを作成して動作確認しました。


# vi /usr/share/nginx/www/info.php




内容は以下の一行。


  1. <?php phpinfo(); ?>




ブラウザでhttp://[サーバーIP]/info.phpを表示すると、
ちゃんとphpの情報が表示されました。

429_02.png


最後に、nginxを自動起動するようにしておきます。


# insserv nginx

関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2014/07/22(火) 23:11:04|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Debian 7にMongoDB 2.0.6 をapt-getでインストールする | ホーム | Google アナリティクスの情報をPythonで取得する(gdata-python)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1429-b656c5a4
この記事にトラックバックする(FC2ブログユーザー)