"Nginx,php-fpm,MySQL"でWordpressを動かす手順 on CentOS6
”Nginx”とは何か。 僕にもよく分かりません。
今回はリバースプロキシを使用しない手順です。 Nginxが使える環境になれば、リバースプロキシの設定も簡単だと思ってます多分。
とりあえず Nginx をインストール
[source]yum install nginx[/source]
PHP をインストール
[source]yum install php[/source]
php-fpm をインストール
[source]yum install php-fpm[/source]
MySQL をインストール
[source]yum install mysql-server[/source]
php-fpm の設定で、ユーザーとグループを"apache"から"nginx"に書き換える。
[source] /etc/php-fpm.d/www.conf
; RPM: apache Choosed to be able to access some dir as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx [/source]
適当に Wordpress をダウンロードしてドキュメントルートに移動させる。
[source]
Wordpressをダウンロード
wget http://ja.wordpress.org/wordpress-3.8.1-ja.tar.gz
解凍
tar xzf wordpress-3.8.1-ja.tar.gz
ドキュメントルートに移動させる
mv wordpress /var/www
権限を変更
chown -R nginx:nginx /var/www [/source]
Nginx の設定をする
[source] /etc/nginx/conf.d/default.conf
location / { root /var/www; index index.php;
try_files $uri $uri/ /index.php?q=$uri&$args;
client_max_body_size 200M;
access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;
if (!-e $request_filename) { rewrite ^.+?($/-.) $1 last; rewrite ^.+?(/..php)$ $1 last; rewrite ^ /index.php last; break; } }
php-fpm の設定
location ~ .php$ {
root /var/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; #追加 include fastcgi_params; } [/source]
Nginx,php-fpm を再起動
[source]
Nginx の再起動
/etc/init.d/nginx restart
php-fpm の再起動
/etc/rc.d/init.d/php-fpm restart [/source]
PHP が動くかテスト
[source]
phpinfoファイルを作成
echo '<?php echo phpinfo(); ?>' > info.php
/var/wwwに移動
mv info.php /var/www
権限の変更(必要ないかも)
chown nginx:nginx /var/www/info.php [/source]
MySQL の設定
[source] ここを参照してください(震え声) http://lightly.wjg.jp/wiki/858
データベースの作成
mysql -u root -p #rootユーザーのパスワードを入力 mysql > create database wordpress(データベースの名前) default character set utf8 collate utf8_general_ci; #データベースの作成 mysql > GRANT ALL PRIVILEGES ON wordpress.* TO "root"@"localhost" IDENTIFIED BY "password(パスワードを入力)"; #データベースにアクセスする権限 [/source]
Nginx,php-fpm,MySQL の自動起動
[source] chkconfig nginx on chkconfig php-fpm on chkconfig mysqld on [/source]
デフォルト状態だとアップロードサイズが”2MB"なので Nginx,PHP の設定を変更する
[source] /etc/php.ini
post_max_size = 200M #ポストできる最大サイズ upload_max_filesize = 200M #1ファイルあたりの最大ファイルサイズ
/etc/nginx/conf.d/default.conf client_max_body_size 200M; #listen の次の行に追加
Nginx,php-fpm の再起動
/etc/init.d/nginx restart /etc/rc.d/init.d/php-fpm restart [/source]