お名前.com レンタルサーバー |使いやすさと高機能の両立を実現
VPSと言えば自分で環境構築が行える人向けというイメージだが、最近ではテンプレートを選択することによりミドルウェアの構築などを行ってくれるサービスが準備されてきている。
お名前.com VPSではWordPressテンプレートというインストールが完了するとWordPressセットアップ画面にすぐアクセスできるテンプレートが用意されている。
実際に、インストール完了後グローバルIPにアクセスしてみるとセットアップ画面が表示された。

WordPressがすぐに使えるということはわかった。興味があるのはサーバ側の構築状態。
上記紹介ページにOS及びミドルウェアのバージョンは下記の通り記載されている。
CentOS 6.5 (64bit) / PHP 5.5.16 / WordPress 4.0 / MySQL 5.5.36 / nginx 1.6.1
お名前.com レンタルサーバー |使いやすさと高機能の両立を実現
実際にサーバ側の状態を調べていく。
yumリポジトリ
追加されているリポジトリは下記の通り。
- Percona
- Percona Server for MySQL is a drop-in replacement for MySQL
- 独自拡張を取り込んだMySQLベースのプロダクトのようです
- EPEL
- Remi
- Nginx
- Nginx公式が提供しているリポジトリ
ミドルウェア
MySQL
# yum list installed | grep Percona Percona-Server-client-56.x86_64 5.6.22-rel71.0.el6 @percona Percona-Server-server-56.x86_64 5.6.22-rel71.0.el6 @percona Percona-Server-shared-51.x86_64 5.1.73-rel14.12.624.rhel6 @percona Percona-Server-shared-56.x86_64 5.6.22-rel71.0.el6 @percona
Perconaリポジトリを追加しているので当然Percona MySQLを使用しています。
Percona MySQLがどういうバージョンのつけ方をしているのかわかりませんが、普通に考えればMySQL5.6.22にあたるバージョンですね。
PHP
# yum list installed | grep php php.x86_64 5.5.20-2.el6.remi @remi-php55 php-cli.x86_64 5.5.20-2.el6.remi @remi-php55 php-common.x86_64 5.5.20-2.el6.remi @remi-php55 php-devel.x86_64 5.5.20-2.el6.remi @remi-php55 php-fpm.x86_64 5.5.20-2.el6.remi @remi-php55 php-gd.x86_64 5.5.20-2.el6.remi @remi-php55 php-mbstring.x86_64 5.5.20-2.el6.remi @remi-php55 php-mcrypt.x86_64 5.5.20-2.el6.remi @remi-php55 php-mysqlnd.x86_64 5.5.20-2.el6.remi @remi-php55 php-pdo.x86_64 5.5.20-2.el6.remi @remi-php55 php-pear.noarch 1:1.9.5-3.el6.remi @remi php-pecl-jsonc.x86_64 1.3.6-1.el6.remi.5.5.1 @remi-php55 php-pecl-jsonc-devel.x86_64 1.3.6-1.el6.remi.5.5.1 @remi-php55 php-pecl-memcache.x86_64 3.0.8-2.el6.remi.5.5 @remi-php55 php-pecl-zip.x86_64 1.12.4-1.el6.remi.5.5 @remi-php55 php-process.x86_64 5.5.20-2.el6.remi @remi-php55 php-xml.x86_64 5.5.20-2.el6.remi @remi-php55
Remiリポジトリからインストールしています。
PHPのバージョンは5.5.20。php-fpmが入っているのでFastCGIにはphp-fpmを使用していることがわかりまります。
Nginx
# yum list installed | grep nginx nginx.x86_64 1.6.2-1.el6.ngx @nginx
最新のstableバージョンをインストールしてるみたいです。
それぞれ、バージョンアップには追随しているようなので紹介ページの情報が古いみたいです。
WordPress
WordPressは下記ディレクトリに配置されていました。
/var/www/vhosts/default
当然ながらドキュメントルートはこのディレクトリになっています。
インストールされているWordPressは日本語版です。
設定ファイル
wp-config.php
データベース名はwordpress。DBユーザとパスワードは乱数ぽい数値になっています。
設定済みなのでWordPressセットアップにて聞かれることはありません。
php-fpm
/etc/php-fpm.d/www.conf
[www] listen = /var/run/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0666 user = nginx group = nginx pm = dynamic pm.max_children = 5 pm.start_servers = 1 pm.min_spare_servers = 1 pm.max_spare_servers = 4 pm.max_requests = 200 rlimit_files = 131072 rlimit_core = unlimited request_terminate_timeout = 90 request_slowlog_timeout = 60 slowlog = /var/log/php-fpm/www-slow.log php_admin_value[error_log] = /var/log/php-fpm/www-error.log php_admin_flag[log_errors] = on php_admin_value[upload_max_filesize] = 4M php_admin_value[post_max_size] = 4M php_admin_value[max_execution_time] = 60
Nginx
とりあえずdefault.confのみ。
気になったところを少し触れるとまずserver_name。
すべてのサーバに適合させる例では奇妙なサーバ名 “_” が使われます:
server { listen 80 default_server; server_name _; return 444; }http://nginx.org/ja/docs/http/server_names.html
Nginxのproxy_cacheを使っているようです。不勉強であまりわからないので後で調べてみます。
phpmyadminの設定もあると思いきやパッと見た感じ404を返すだけのようです。
明示的に書く必要があるのか?
server {
listen 80 default;
server_name _;
root /var/www/vhosts/default;
index index.html index.htm;
charset utf-8;
access_log /var/log/nginx/default.access.log main;
error_log /var/log/nginx/default.error.log;
include /etc/nginx/drop;
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
#rewrite ^(.*)(index|home|default)\.html? $1 permanent;
set $mobile '';
#include /etc/nginx/mobile-detect;
set $do_not_cache 0;
if ($http_cookie ~* "comment_author_|wordpress_(?!test_cookie)|wp-postpass_" ) {
set $do_not_cache 1;
}
if ($request_method = POST) {
set $do_not_cache 1;
}
#location ~* \.(js|css|html?|xml|gz|jpe?g|gif|png|swf|wmv|flv|ico)$ {
# index index.html index.htm;
# include /etc/nginx/expires;
#}
location / {
try_files $uri @wordpress;
# Pass all .php files onto a php-fpm/php-fcgi server.
location ~ \.php$ {
try_files $uri @wordpress;
expires off;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass phpfpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_busy_buffers_size 32k;
fastcgi_temp_file_write_size 256k;
}
}
location @wordpress {
internal;
proxy_no_cache $do_not_cache;
proxy_cache_bypass $do_not_cache;
proxy_redirect off;
proxy_cache czone;
proxy_cache_key "$scheme://$host$request_uri$mobile";
proxy_cache_valid 200 0m;
proxy_pass http://backend;
}
#
# When you use phpMyAdmin, uncomment the line "include /etc/nginx/phpmyadmin;"
# and delete or comment out the below line "location ~* /(phpmyadmin|myadmin|pma) { }".
#
#include /etc/nginx/phpmyadmin;
location ~* /(phpmyadmin|myadmin|pma) {
access_log off;
log_not_found off;
return 404;
}
#
# redirect server error pages to the static page /50x.html
#
error_page 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}こんな感じでした。