Symfoware

Symfowareについての考察blog

FreBSD 10.1 + Nginx + php-fpmな環境を構築する

こちらを参考にしました。
How To Install an Nginx, MySQL, and PHP (FEMP) Stack on FreeBSD 10.1


nginxとphpのインストール



pkgコマンドでインストールします。


# pkg install nginx php56




インストールが終わったら情報を更新。


# rehash





サービスの起動許可



/etc/rc.confにサービスの起動許可設定を行います。

何を記載したらよいかを調べるために、以下のコマンドを実行。


# grep rcvar /usr/local/etc/rc.d/*




こんな出力が得られます。


/usr/local/etc/rc.d/nginx:rcvar=nginx_enable
/usr/local/etc/rc.d/php-fpm:rcvar=php_fpm_enable




これで、「nginx_enable」と「php_fpm_enable」を許可すれば良いことがわかりました。

/etc/rc.confを編集。


# vi /etc/rc.conf




以下の2行を追記します。


nginx_enable="YES"
php_fpm_enable="YES"




これでnginxとphp-fpmが起動できるようになりました。






php-fpmの設定




/usr/local/etcに移動。
php-fpm.confファイルを編集します。

編集箇所は2箇所。

1つめは164行目付近のlisten指定です。


listen = 127.0.0.1:9000



ソケットを使用するよう変更しました。


listen = /var/run/php-fpm.sock




もう一箇所は、175行目付近の実行ユーザー指定です。


;listen.owner = www
;listen.group = www
;listen.mode = 0660




コメントを外しておきます。


listen.owner = www
listen.group = www
listen.mode = 0660




続いて、php.iniの編集です。
php.iniのひな形をコピーし、編集。


# cp php.ini-production php.ini
# vi php.ini




773行目付近


;cgi.fix_pathinfo=1



コメントを外し、値を「0」とします。


cgi.fix_pathinfo=0




この設定なんだろ?と思い調べてみると、こちらが詳しいです。
PHP-FPMでcgi.fix_pathinfo=0は必要なのか

今となっては不要な設定ですが、一応設定しておくことにしました。


これでphpに関する設定は終了です。




Nginxの設定



続いてnginxに関する設定です。
参考にしているサイトでは、worker_processesやerror_logの設定も
行っていますが、とりあえず動かしてみたいので必要最低限の
設定を行いました。

nginxの設定ファイルがあるディレクトリに移動。
ファイルを編集します。


# cd /usr/local/etc/nginx
# vi nginx.conf




変更、追記箇所は赤字で変更しています。


user www;
worker_processes 1;

events {
    worker_connections 1024;
}


http {
    include     mime.types;
    default_type application/octet-stream;

    sendfile        on;
    keepalive_timeout 65;

    server {
        listen     80;
        server_name localhost;

        root /usr/local/www/nginx;
        index index.php index.html index.htm;

        location / {
            try_files $uri $uri/ =404;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /usr/local/www/nginx-dist;
        }


        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            include        fastcgi_params;
        }


    }

}







サービスの起動



これで準備完了です。
php-fpmとnginxを起動します。


# service php-fpm start
# service nginx start




phpの動作確認を行うため、サンプルスクリプトを作成します。


# cd /usr/local/www/nginx
# vi info.php



内容は以下のとおり。



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

617_01.png


関連記事

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

  1. 2015/06/13(土) 19:13:01|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Nginx + php-fpm + CodeIgniter3 のnginx.conf | ホーム | FreeBSD 10.1 + Python + MySQLdbのインストール>>

コメント

コメントの投稿


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

トラックバック

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