開発運用

Ubuntu 18.04にNginxをインストール

Nginxは、高性能なWebサーバーおよびリバースプロキシサーバーで、リソースの消費が少なく、特に静的コンテンツの提供や高トラフィックの処理に優れています。ここでは、Ubuntu 18.04にNginxをインストールし、基本的な設定を行う方法について詳しく説明します。

1. パッケージリストの更新

Nginxをインストールする前に、まずUbuntuのパッケージリストを最新の状態に更新します。これを行うことで、インストールするパッケージが最新のものになるようにします。

bash
sudo apt update

このコマンドを実行すると、aptはリポジトリから最新のパッケージリストを取得し、システムに反映します。

2. Nginxのインストール

次に、Nginxをインストールします。Ubuntuの公式リポジトリにはNginxが含まれており、簡単にインストールすることができます。

bash
sudo apt install nginx

インストールが完了すると、Nginxは自動的に起動し、システムのサービスとして実行されます。systemctlを使用して、インストールされたNginxサービスの状態を確認できます。

bash
sudo systemctl status nginx

これにより、Nginxが正しくインストールされ、実行中であることが確認できます。

3. Nginxの基本的なファイアウォール設定

Ubuntu 18.04では、ufw(Uncomplicated Firewall)がデフォルトでインストールされており、システムのセキュリティを強化しています。Nginxを使用するには、HTTPおよびHTTPSポートを開放する必要があります。

bash
sudo ufw allow 'Nginx Full'

これにより、80番ポート(HTTP)および443番ポート(HTTPS)が開放されます。変更を反映させるために、ufwをリロードします。

bash
sudo ufw reload

また、ufwのステータスを確認して、ルールが適用されていることを確認できます。

bash
sudo ufw status

4. Nginxの自動起動設定

システムの起動時にNginxが自動的に開始されるように設定します。systemctlコマンドを使用して、自動起動を有効にすることができます。

bash
sudo systemctl enable nginx

これにより、システムが再起動されるたびにNginxが自動的に開始されます。

5. Nginxのテスト

Nginxが正しくインストールされ、稼働していることを確認するために、WebブラウザでサーバーのIPアドレスまたはドメイン名にアクセスします。例えば、サーバーのIPアドレスが192.168.1.100であれば、ブラウザで以下のURLを開きます。

cpp
http://192.168.1.100

正常に動作していれば、「Welcome to nginx!」というページが表示されます。これにより、Nginxが正しくインストールされ、動作していることが確認できます。

6. Nginxの設定ファイルの確認

Nginxの設定ファイルは、通常/etc/nginx/nginx.confにあります。設定を変更する場合は、このファイルを編集することになります。まず、Nginxが提供するデフォルトの設定ファイルをバックアップしておくことをお勧めします。

bash
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

バックアップを取った後、設定ファイルを編集します。

bash
sudo nano /etc/nginx/nginx.conf

設定ファイルの編集が完了したら、Nginxの設定が正しいかどうかを確認するために、以下のコマンドを使用します。

bash
sudo nginx -t

エラーメッセージが表示されなければ、設定は問題ありません。設定を反映させるために、Nginxを再起動します。

bash
sudo systemctl restart nginx

7. サイトの設定(仮想ホスト)

複数のサイトをホストする場合、Nginxでは仮想ホストを使ってサイトごとに異なる設定を行うことができます。まず、/etc/nginx/sites-available/ディレクトリ内に新しい設定ファイルを作成します。

bash
sudo nano /etc/nginx/sites-available/example.com

仮想ホスト設定の例は以下の通りです。

nginx
server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.html; location / { try_files $uri $uri/ =404; } }

次に、この設定ファイルをsites-enabledディレクトリにシンボリックリンクとして追加します。

bash
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

その後、nginx -tコマンドで設定を確認し、問題がなければNginxを再起動します。

bash
sudo nginx -t sudo systemctl restart nginx

8. SSL/TLSの設定(HTTPS)

セキュリティのため、サイトでSSL/TLSを有効にすることが重要です。Let’s Encryptを使って無料でSSL証明書を取得することができます。certbotを使って証明書を取得する方法は以下の通りです。

まず、certbotをインストールします。

bash
sudo apt install certbot python3-certbot-nginx

次に、証明書を取得します。

bash
sudo certbot --nginx -d example.com -d www.example.com

証明書の取得が成功したら、HTTPSが有効になり、Nginxの設定ファイルが自動的に更新されます。証明書の自動更新を設定するために、certbotの定期的な実行をcronに追加します。

bash
sudo crontab -e

以下の行を追加して、自動更新を設定します。

bash
0 0 * * * certbot renew --quiet

9. ログファイルの確認

Nginxのログは、デフォルトで/var/log/nginx/ディレクトリに保存されます。アクセスログとエラーログを確認することで、サイトの動作をモニタリングできます。

bash
sudo tail -f /var/log/nginx/access.log sudo tail -f /var/log/nginx/error.log

結論

これで、Ubuntu 18.04にNginxをインストールし、基本的な設定を行う手順が完了しました。Nginxは高性能で拡張性のあるWebサーバーであり、適切な設定を行うことで、安全かつ効率的にウェブサイトをホスティングすることができます。

Back to top button