Apache から Nginx へ移行した

Posted on
ubuntu apache nginx

おいおい Laravel で何か作って遊びたいと思っているのですが、WEBサーバのデフォルトが Nginx のようなので、このブログを動かしている Apache を Nginx に移行することにしました。

インストール

Ubuntu 16.04 環境では普通に apt install でいけます。

一応参考URL: Install | NGINX

でも Apache が動いていると 80 番ポートが取れないとかいうエラーでインストールに失敗するので、Apache を止めてからインストールします。

sudo service apache2 stop
sudo apt install nginx
nginx -v

nginx version: nginx/1.10.3 (Ubuntu)

みたいに出たらインストール完了です。ブログが繋がらないのも嫌なので、いったん Nginx は止めて Apache に戻しておきます。

sudo service nginx stop
sudo service apache2 start

設定

設定ですが、つい昨日まで Mastodon の設定を見ていたので、それを参考にすることにしました。

今は静的コンテンツしかないので、要らなそうなところはばっさり省きます。

注意点というかよくわからなかった点なのですが、/etc/nginx/conf.d に default.conf がありませんでした。デフォルトの設定は /etc/nginx/sites-available/default みたいです。これをコピーして改造します。

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
sudo vi /etc/nginx/sites-available/example.com

中身はこんな感じになりました。ちょっと余計な部分もあるかもしれません。

シンプルな設定です。

設定ファイルを有効にする

設定ファイルを有効にするためにシンボリックリンクを貼ります。

デフォルトの設定はリンクを削除しておけば無効化できると思います。

cd /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/example.com example.com
sudo unlink default

Nginx を起動

Apache を止めて Nginx を起動します。

sudo service apache2 stop
sudo service nginx start

無事にアクセスできれば完了です。だめなら /var/log/nginx/error.log の中身を見て解決しましょう。

終わり

.htaccess も使っていなかったので、特に難しいことはありませんでした。さようなら Apache。

これでおいおい Laravel で遊べるようになったので準備したいと思います。