CentOSにNginx + php-fpmをInstall、設定してWordPressを動かす
前回の基礎知識編を踏まえ、今回はNginxをInstallしてWordPressを動かすまで。
環境: CentOS 5.8 32bit(i386), nginx 1.0.14, php 5.3.10
参考にしたのは下記Site.
- nginx: download - nginx official site
- nginx+php-fpmをyumでインストールして、WordPress/CakePHPを動かす設定 - Shin x blog
- apache のかわりにnginxを使ってみる(2)-2 php5.3系のphp-fpmをyumでインストールする | レンタルサーバー・自宅サーバー設定・構築のヒント
- nginx+apache 静的ファイル出力とSSL処理をnginxに任せて高速化/ - サイブリッジラボ
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を追加する。
- RepoView: Les RPM de Remi
- EPEL - FedoraProject
(Remiの依存関係を解決するのに必要)
# 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_nameroot /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 >