この記事では、UbuntuにNginxをインストールする方法をご紹介します。
目次
インストール
パッケージをインストールします。
$ sudo apt install nginx
Nginxの起動を確認します。
$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-09-16 13:11:47 JST; 3min 43s ago
Docs: man:nginx(8)
Main PID: 1003 (nginx)
Tasks: 3 (limit: 2196)
Memory: 8.8M
CGroup: /system.slice/nginx.service
├─1003 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
├─1004 nginx: worker process
└─1005 nginx: worker process 9月 16 13:11:47 ubuntu systemd[1]: Starting A high performance web server and a reverse proxy server...
9月 16 13:11:47 ubuntu systemd[1]: Started A high performance web server and a reverse proxy server.
ポートを開放する
Nginxがブロックされないよう、ファイアウォールで対象ポートを許可します。
$ sudo ufw allow 80
$ sudo ufw allow 443
ファイアウォールの設定を反映します。
$ sudo ufw reload
ステータスを確認して設定内容が反映されているか確認します。
$ sudo ufw status
状態: アクティブ To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
ブラウザで確認
ブラウザでNginxをインストールしたサーバーのIPアドレスを指定します。Welcomeページが表示されればインストールは完了です。
VirtualHostを設定
今のままだとIPアドレス直打ちでのアクセスしかできないため、独自ドメインでアクセスできるようにする場合はVirtualHostを設定します。まずドキュメントルートとなるディレクトリを/var/www配下に作成します。
$ sudo mkdir /var/www/hitori-josys.me
次に設定ファイルを作成します。『ubuntu.hitori-josys.me』のドメインでアクセスできるようにしたいので、作成するファイル名もわかりやすいように同じにしておきます。
$ sudo vi /etc/nginx/sites-available/ubuntu.hitori-josys.me
設定ファイルには以下の内容を書き込みます。
server {
listen 80;
server_name ubuntu.hitori-josys.me;
access_log /var/log/nginx/ubuntu.hitori-josys.me-access.log;
error_log /var/log/nginx/ubuntu.hitori-josys.me-error.log;
location / {
root /var/www/ubuntu.hitori-josys.me;
index index.html index.htm;
}
}
ファイルを保存したらsites-enabledにシンボリックリンクをはり設定を有効化します。
$ sudo ln -s /etc/nginx/sites-available/ubuntu.hitori-josys.me /etc/nginx/sites-enabled/
次にブラウザで表示するテスト用のHTMLファイルを作成します。
$ sudo vi /var/www/hitori-josys.me/index.html
hello!とだけ記載することにして保存して終了します。
hello!
以下のコマンドで設定ファイルに誤りが無いか確認します。OKがでれば問題なしです。
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
最後にNginxをリロードします。ブラウザから自分が指定したドメインでアクセスし『hello!』と表示されればあOKです。
$ sudo systemctl reload nginx
これだけではまだHTTPSでのアクセスができませんので、それはまた別の機会に説明します。
管理コマンド
自動起動
$ sudo systemctl enable nginx
自動起動の停止
$ sudo systemctl disable nginx
サービスの停止
$ sudo systemctl stop nginx
サービスの開始
$ sudo systemctl start nginx
サービスの再起動
$ sudo systemctl restart nginx
サービスのリロード
$ sudo systemctl reload nginx