るいすときのこの物語

オタクエンジニアの雑記

"Nginx,php-fpm,MySQL"でWordpressを動かす手順 on CentOS6


”Nginx”とは何か。 僕にもよく分かりません。

”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]