はじめに
今回は自宅RaspberryPiのWebサーバをApache2からNginxに乗り換えたお話です.
2016年1月3日現在最新版 Raspbian Jessieが入ってます
乗り換えた理由は,ApacheにDjangoやRailsアプリケーションデプロイ系の記事が少なく,Nginx経由だったら結構豊富.
更には,実際に計測とかはしていないのですが,Apacheよりアクセス速度が早い.とかですね.
Nginxとは
Nginx........
初めて読んだ時は「んぎんくす」とかなんとかよくわからないまま適当に読んでました.リアル周辺にこの手の話が通じる人が1人もいないので,心の中での会話で.
エンジンエックスと呼びます
N:エン
gin:ジン
x:エックス
なるほど.って言う感じで3ヶ月前に思いました
詳しくはWiki読んでください.
今回やったこと
- Nginxインストール
- Apache2の停止
- Nginxの起動
- php5-fpmなどインストール
- 設定ファイルイジイジ
Nginxインストール
$ sudo apt-get update $ sudo apt-get install -y nginx
Apache2の停止
$ sudo /etc/init.d/apache2 stop
ついでに自動起動してたので切ります
$ sudo update-rc.d apache2 remove
Nginxの起動
$ sudo /etc/init.d/nginx start
自動起動設定もしておきます
$ sudo update-rc.d nginx defaults
php5-fpmなどインストール
現段階ではPHPなんて動きませんからとりあえずNginx上でPHPを動かすためにphp5-fpm
を入れます.
PHPが入っていない場合は
$ sudo apt-get install -y php5
同時ににモジュールもいれる
$ sudo apt-get install -y php5-fpm php5-cgi php5-cli php5-common php5-mysql
php5-fpm
自動起動もしておく
$ sudo update-rc.d php5-fpm defaults
設定ファイルイジイジ
$ sudo vim /etc/nginx/sites-available/example.com
server { listen 80; servername example.com access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; # エラー用(example.com/xxx.html←みたいな感じ) error_page 500 /500.html; error_page 404 /404.html; error_page 403 /403.html; location ~ / { # お好みに合わせて # 日本のみに限定する場合→[http://qiita.com/nnsnodnb/items/654642e94f12d6a0a9a2] allow 192.168.0.0/24 deny all; } location ~ /\.ht { deny all; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; } }
もし日本国内のみのアクセスに限定したいならどうぞこちらをご覧ください
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ $ sudo rm /etc/nginx/sites-enabled/default $ sudo /etc/init.d/nginx restart
最後に
NginxではApacheで使用していた.htaccess
が使えないので*.conf
に書き込みましたが,他にいい方法があれば教えて下さい
また,こんな3000行もあるIPアドレスリストはとりあえず以下ページよりダウンロードさせていただきました.
中身は完全に.htaccess用なのでfromを消し去って,行末に「;」を入れてあげないといけないので,
とりあえずfromは簡単に消せるので消して,あとはプログラムに任せました.
一応公開するとこんな感じ.1行1行に処理を与えるだけの簡単構成.
ここまで設定するのに8時間程度かかってしまいました.おかげで寝てません
たまにはサーバ開発も良いなぁって思いながら今現在に至ります.
というか早くラズパイの購入記事かけ←