2012年4月11日水曜日

CentOSにNginx + php-fpmをInstall、設定してWordPressを動かす

nginx php wordpress前回の基礎知識編を踏まえ、今回はNginxをInstallしてWordPressを動かすまで。

環境: CentOS 5.8 32bit(i386), nginx 1.0.14, php 5.3.10

参考にしたのは下記Site.

 


1. nginxをInstall - yum経由でupdate出来るようにする。

nginx official siteのDownloadにyumのRepositoryを設定する方法があったので、yum経由でInstallした。

# vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/5/$basearch/
gpgcheck=0
enabled=1

# yum update
# yum install nginx

 


2. php 5.3をinstallしてphp-fpmを使えるようにする

まずはInstall済みのphpを削除する。
Installされているphp packageを一覧表示
# yum list installed | grep php

一括削除
# yum erase php53*

標準のYUM Repositoryにはphp-fpmがないので、下記SiteからRepositoryを追加する。

# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -ivh epel-release-5-4.noarch.rpm remi-release-5.rpm

Remi Repositoryを使ってphp-fpmをInstall
# yum install php php-fpm php-devel php-cli php-xml php-mysql php-mbstring php-gd --enablerepo=remi

php-fpmの確認
# php-fpm -v

 


3. nginxを設定

Apacheから移行するので、Processを実行するUser名とVersion情報を出力しないように設定。
# vi /etc/nginx/nginx.conf

user  apache;
http {
    server_tokens off;
}

 


4. php-fpm (FastCGI Process Manager)の設定、起動

PHPはnginxとは別に起動しているCGIに渡して処理をするので、待機しておくProcess数などを設定。

設定Fileは
/etc/php-fpm.conf
/etc/php-fpm.d/www.conf

今回は初期状態のまま何もしない。

起動させて、再起動後も自動起動するように設定
# /etc/rc.d/init.d/php-fpm start
# chkconfig php-fpm on

 


5. WordPress用にMySQLとnginxをInstall, 設定

せっかくなのでRemi Repositoryを使って、MySQLを最新の5.5にする。
# yum install mysql-server --enablerepo=remi

MySQL Serverを起動して、RootのPasswordを設定。自動起動もOn.
# /etc/rc.d/init.d/mysqld start
# mysqladmin -u root password 'NEWPASSWORD'
# chkconfig mysqld on

nginxにWordPressとphpMyAdmin用のaliasを設定する。今回は/opt以下を全部公開する設定。別の機会に詳細を記事にする予定。

まずはdefaultの.confを削除
# rm -f /etc/nginx/conf.d/*.conf
# vi /etc/nginx/conf.d/80_default.conf

server {
    listen       80 default_server;
    server_name  _; # all traffic recieve this section. http://wiki.nginx.org/HttpCoreModule#server_name

    root    /opt;
    index   index.php index.html index.htm;
    charset utf-8;

    location = /robots.txt  { access_log off; log_not_found off; }
    location = /favicon.ico { access_log off; log_not_found off; }

    location ~* \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        include        fastcgi_params;
    }

    location ~ /\. {
        deny  all;
        access_log off;
        log_not_found off;
    }
}

nginxのconf, fcgi関連の設定は下記Siteを参考に。

nginxを起動
# /etc/rc.d/init.d/nginx start

phpMyAdminをBrowserで開いて、新規DBを作成。ここからは通常のWordPressをInstallする手順と同じ。

次回はmod_rewriteをnginxで実現するための設定を調査予定。

 


< 2012/04/24 Modified >
"default_server"を追記。詳しくは下記Siteを参照。

 


< 2012/05/18 Modified >
php-gdを追記

 

< Related Posts >

コメントを投稿
Related Posts Plugin for WordPress, Blogger...

Blog Archives