Nginxについて何も知らなかったのでhello worldと簡単な説明。
Nginxとは
オープンソースのwebサーバ。
これだけではよくわからないので実際に使ってみて理解を深める。
やること
Nginxのインストール
$ sudo apt-get update
$ sudo apt-get install nginx
$ sudo ufw app list
$ sudo ufw allow 'Nginx Full'
$ sudo ufw allow 'Nginx HTTP'
$ sudo ufw allow 'Nginx HTTPS'
$ sudo ufw status
$ sudo systemctl status nginx
コマンド
- 起動:
$ sudo service nginx start
- テスト: $ nginx -t
- ストップ: $ sudo service nginx stop
- リスタート: $ sudo service nginx restart
最初の静的ファイルの変更
デフォルトでは /var/www/html/
にあるindex.htmlが指定されている。このファイルを書き換えることで好きなページを表示できる。
アクセスによって表示するファイルを切り替えるには設定ファイルの変更が必要。
設定ファイル
場所
/etc/nginx/
nginx.conf
最初に読み込まれる設定ファイル。ここでログの場所やアプリケーションごとの設定ファイルを読み込む。
sites-enabled/default
初期時の設定ファイル。nginx.confから呼ばれて、デフォルト(ポート80)で/var/www/html にアクセスするように設定されている。
conf.d/*
デフォルトではディレクトリだけあって中身のファイルは空だった。ここに設定ファイルを追加していく。nginx.confから参照する。
ログ出力
nginx.confファイルに書いてある。デフォルトでは
- access_log: /var/log/nginx/access.log;
- error_log: /var/log/nginx/error.log;
エラー (詰まったところ)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
参考: 他のプロセスがポートを占有してnginxを再起動できない – Qiita
$ sudo lsof -i | grep nginx で表示される古いプロセスをkillする。
終わりに
とりあえずの hello worldはできた。これから設定ファイルの書き方やディレクトリ構成がややこしそうなので、都度更新予定。
参考
- nginx – Wikipedia
- Nginxのアーキテクチャを理解する – Qiita
- ApacheとNginxについて比較 – Qiita
- Nginx Tutorial | Learn Nginx Fundamentals | Deploy a Web Application Using Nginx | Edureka – YouTube
- Nginxでまず静的ファイルのみ表示してみる(Nginxその2) | Snow Tree in June
Comments