Nginx

2022 年 11 月 2 日 改訂

Nginex (エンジンエックス) は、web サーバーです。

 

Nginx ファイルとディレクトリ

$ sudo nginx -t

Nginx ファイルに構文エラーがないことをテストする。

$ sudo systemctl restart nginx

構文にエラーがなければ、Nginx を再起動して変更を有効にする。

/etc/nginx

Nginx 設定ディレクトリ。

/etc/nginx/nginx.conf

Nginx のメイン設定ファイル。Nginx のグローバル設定を変更できる。

/etc/nginx/sites-available/

サイトごとのサーバーブロックを保存できるディレクトリ。Nginx では、ここに保存されている設定ファイルが、site-enabled ディレクトリ内部からリンクされている必要がある。通常、サーバーブロック設定はこのディレクトリで行われ、他のディレクトリ (site-enabled ディレクトリ?) にリンクすることで有効になる。

/etc/nginx/sites-enabled/

有効なサイトごとのサーバーブロックが保存されるディレクトリ。sites-avaiable ディレクトリにある設定ファイルへのリンクが保存されている。

/var/log/nginx/access.log

Web サーバーにきたリクエストのログファイル。

/var/log/nginx/error.log

Nginx エラーのログファイル。

 

インストール

Ubuntu 20.04 に Nginx をインストールする方法

1) インストール、2) ファイアウォールの調整、3) Nginxプロセスの管理、4) サーバーブロックをセットアップして単一のサーバーから複数のドメインをホストする方法、を紹介。

これでインストールできたのですが、

chown nginx:username html

と入力すると

chown: invalid user: ‘nginx:username’

と言われました。以下、id nginx コマンドに続く

Ubuntu 日本語フォーラム

id nginx と入力した際に、id: `nginx': no such user、と言われた時の対処法。これが正しいのか、まだ確認してないです。

エラー対策

ufw status が inactive の場合。こちらを参照しました。

$ sudo ufw status
Status: inactive

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

$ sudo ufw status
Status: active

To Action From
-- ------ ----
Nginx HTTP ALLOW Anywhere
OpenSSH ALLOW Anywhere
Nginx HTTP (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)

 

リンク

Nginx で Index of を表示させる

index ファイルがなかった時に、そのディレクトリ内のファイル一覧を自動表示する機能。

 

主に、Ubuntu 20.04 に Nginx をインストールする方法を参考にしました。ありがとうございます。