軽量Webサーバーとして近年急速にシェアを拡大している「Nginx(エンジンエックス)」を利用し、Ubuntu14.04にWordPress環境を構築する方法をご紹介!PV数が増加し、共有レンタルサーバーでは物足りなくなってしまった方必見です!
軽量WebサーバーNginxとは?
Nginxは2002年頃にロシアのIgor Sysoev氏によって、1日に5億リクエストを処理するWebサイトのHTTPサーバーとして開発されました。2004年に一般公開され、現在はBSDライクライセンスの下、LinuxやBSD系OSをはじめとするさまざまなプラットフォームで利用できるようになっています。
http://www.atmarkit.co.jp/ait/articles/1406/17/news013.htmlより
諸々必要なパッケージをインストール
作業に必要なvim
やgit
などのパッケージをインストール
$ sudo apt-get install git curl php5-curl vim tmux
nginx、PHP、MySQLのインストール
$ sudo apt-get update
$ sudo apt-get install nginx php5-fpm mysql-server php5-mysql
MySQLのrootユーザのパスワードを入力
2015.11.24追記
nginxにてWordPressの画像編集などの機能が動かない場合の対処
PHPのグラフィック用モジュールであるPHP-GDがインストールされていない
または有効になっていない可能性があるとのこと
http://kawatama.net/web/1376より
$ sudo apt-get install php5-gd
$ service nginx restart
この時点で、サーバーのIPアドレスを叩いてWelcome to nginx!
が表示されれば無事インストール完了
PHPの設定
php-fpm
nginxはapacheと違い通常だとPHPとの連携がない
PHPとの連携をするためにphp-fpmを導入する
// バックアップ
$ cp /etc/php5/fpm/php-fpm.conf /etc/php5/fpm/php-fpm.conf.bk
php-fpm.conf
ファイルを編集する
// Linuxの場合コメントを外す
events.mechanism = epoll
php.iniの設定
cp /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.bk
date.timezone = "Asia/Tokyo"
phpを再起動
$ sudo service php5-fpm restart
MySQLの設定
my.cnfの設定
cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bk
[client]
default-character-set=utf8
[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
sudo service mysql restart
データベースを作成
$ mysql -u root -p
mysql> CREATE DATABASE `データベース名`;
nginxの設定
virtual hostの設定
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/hoge.com.conf
// 以下をコピペ
server {
listen 80;
server_name hoge.com
rewrite ^(.*)$ http://www.hoge.com$1 permanent;
}
server {
listen 80;
server_name www.hoge.com;
root /var/www/hoge.com/;
index index.html index.php;
access_log /var/log/nginx/hoge.com.access.log;
error_log /var/log/nginx/hoge.com.error.log;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$uri&$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
// シンボリックリンクを貼る
sudo ln -s /etc/nginx/sites-available/hoge.com.conf /etc/nginx/sites-enabled/
service nginx restart
nginx.confの設定
ファイルのアップロードサイズを変更
$ cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk
http {
...
client_max_body_size 20M;
...
}
// 設定ファイルを反映
$ service nginx reload
WordPressのインストール
wget等のインストール
sudo apt-get install wget unzip zip
wordpressのダウンロード
wget https://ja.wordpress.org/wordpress-4.3.1-ja.zip
アクセス権限を変更
chown -R www-data /var/www
参考
http://anopara.matrix.jp/2014/10/01/10-min-nginx-wordpress/
http://kawatama.net/web/548
http://www.server-memo.net/server-setting/nginx/nginx-413.html
http://hamako9999.net/apache2nginx/