ConoHa VPS での CentOS 6.4 + nginx + php-fpm + Zend Framework 1系
さて、ConoHa VPS で CentOS 6.4 + nginx + php-fpm という環境を構築してみよう。ちなみに、動かすシステムは Zend Framework 1系で作ってあって、アクセスを /index.php に rewrite してあげる必要がある。このへんのことも書く。
nginx のインストール
ConoHa VPS で標準インストールされてる CentOS 6.4 には EPEL リポジトリが最初から追加してあった(/etc/yum.repos.d/epel.repo)。なので yum list | grep nginx とすると nginx 1.0 系のパッケージが見つかる。でもこれは古い。
最新の nginx を yum でインストールするには yum に nginx のリポジトリを追加してあげるといいらしい。/etc/yum.repos.d に nginx.repo という名前で以下のテキストファイルと作ってあげる。
# vi /etc/yum.repos.d/nginx.repo
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
nginx.repo を保存したら yum で nginx の最新版がインストールできる。
# yum list | grep nginx nginx.x86_64 1.4.2-1.el6.ngx @nginx
1.4.2 というのが当時の最新版だった。さて、インストール。
# yum install nginx
php-fpm のインストール
php-fpm は yum で簡単にインストールできる。
# yum install php-fpm
ちなみに、php-fpm の他にインストールした php 関連のパッケージは以下
# yum list installed | grep php php.x86_64 5.3.3-23.el6_4 @updates php-cli.x86_64 5.3.3-23.el6_4 @updates php-common.x86_64 5.3.3-23.el6_4 @updates php-devel.x86_64 5.3.3-23.el6_4 @updates php-fpm.x86_64 5.3.3-23.el6_4 @updates php-gd.x86_64 5.3.3-23.el6_4 @updates php-mbstring.x86_64 5.3.3-23.el6_4 @updates php-mysql.x86_64 5.3.3-23.el6_4 @updates php-pdo.x86_64 5.3.3-23.el6_4 @updates php-pear.noarch 1:1.9.4-4.el6 @base php-pecl-apc.x86_64 3.1.9-2.el6 @base php-xml.x86_64 5.3.3-23.el6_4 @updates
apc もインストールしてる。
さて、nginx と php-fpm を構成しよう。
/etc/php-fpm.conf はデフォルトのまま。
/etc/php-fpm.d/www.conf
; user/group を nginx に変更 user = nginx group = nginx ; ConoHa の 1GB プランなので以下の設定で様子を見る pm = dynamic pm.max_children = 15 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pm.max_requests = 500
/etc/nginx/nginx.conf
http { ~略~ # localhost (127.0.0.1) からのアクセスを識別する geo $lh { default 0; 127.0.0.1/32 1; } # サーバーの詳細を出力しない server_tokens off; }
/etc/nginx/conf.d/default.conf
server { listen 80; server_name localhost; # バッファサイズを変更 8k → 16k proxy_buffering on; proxy_buffer_size 16k; proxy_buffers 8 16k; # ドキュメントルートを /data/www/html にする root /data/www/html; # インデックス設定 index index.php index.html; # ドキュメントルートの構成 location / { # localhost (127.0.0.1) からのアクセスをログに残さない if ($lh) { access_log off; } # ファイルがなかったら /index.php にリライトする if (!-e $request_filename) { rewrite ^.*$ /index.php last; } } # php スクリプトの構成 location ~ \.php$ { # localhost (127.0.0.1) からのアクセスをログに残さない if ($lh) { access_log off; } # /etc/php-fpm.d/www.conf の listen の値を指定 fastcgi_pass 127.0.0.1:9000; # インデックス設定 fastcgi_index index.php; # パスをドキュメントルートと同じにする fastcgi_param SCRIPT_FILENAME /data/www/html$fastcgi_script_name; # これはテンプレートと思う include fastcgi_params; } }
上記設定ファイルで、Zend Framework 1系用の rewrite がうまくいってる。ただし、運用したてなのでパフォーマンスのチューニングはまだ途中... という感じ。php-apc の設定とあわせて、うまいところを見つけてあげないとなーと。
何かの参考になれば。
| 固定リンク
「ConoHa」カテゴリの記事
- ConoHa VPS での CentOS 6.4 + nginx + php-fpm + Zend Framework 1系(2013.08.12)
- ConoHa を使うことにした(2013.08.09)
この記事へのコメントは終了しました。
コメント