GNU/Linux >> Linux の 問題 >  >> Ubuntu

Nginxをインストールし、Ubuntu20.04で仮想ホストを構成します

このガイドでは、Ubuntu 20.04でnginxを使用する方法、つまりnginxをインストールし、仮想サイトにサービスを提供するようにnginxを構成する方法について説明します。

Nginxのインストール

ローカルパッケージインデックスを更新して、最新のパッケージリストにアクセスできるようにします

sudo apt update

nginxをインストールする

sudo apt install nginx

ファイアウォールの更新

利用可能なufwアプリのリスト:

sudo ufw app list

サンプル出力:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

リストされているNginxプロファイル:

  • Nginx Full – http –80とhttps–443の両方
  • Nginx HTTP –httpトラフィック80のみ
  • Nginx HTTPS –httpsトラフィックのみ443– TLS/SSL暗号化トラフィック

必要なプロファイルを有効にします-この場合はhttpとhttpsの両方:

sudo ufw allow 'Nginx Full'

変更を確認する

sudo ufw status

上記のコマンドは、許可されているトラフィックを出力します。

nginxの構成

インストールされているバージョンを確認する

sudo apt list --installed | grep nginx

systemdサービスを確認する

sudo systemctl status nginx

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 2021-07-30 14:07:33 UTC; 2min 42s ago
       Docs: man:nginx(8)
   Main PID: 4684 (nginx)
      Tasks: 5 (limit: 9257)
     CGroup: /system.slice/nginx.service
             ├─4684 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─4685 nginx: worker process
             ├─4686 nginx: worker process
             ├─4687 nginx: worker process
             └─4688 nginx: worker process

Jul 30 14:07:33 frhb64566ds systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 30 14:07:33 frhb64566ds systemd[1]: Started A high performance web server and a reverse proxy server.

再起動後もnginxサービスが常に実行されていることを確認するには、次のsystemndコマンドを使用して有効にします。

sudo systemctl enable nginx

これらの他のsystemdコマンドを使用してnginxを管理できます:

# To start the service
sudo systemctl start nginx

# To restart the service
sudo systemctl restart nginx

# To reload the service config
sudo systemctl reload nginx

# To stop the service config
sudo systemctl restart nginx

# To disable the service config
sudo systemctl restart nginx

nginxが実際に実行されて到達可能であることを確認するには、次のコマンドを使用します:

curl http://server_ip/

ここで、server_ip サーバーのIPです。何らかの理由でサーバーのパブリックIPがわからない場合は、これを使用して確認してください。

curl -4 icanhazip.com

次に:

curl http://178.170.10.54/

デフォルトのnginxページを取得する必要があります。

単純な静的ページnginxを提供する

nginxで静的ページを提供する例を見てみましょう。静的ページはhtmlとcssであり、サーバー側のレンダリングは必要ありません。サンプルドメインyour.domain.comを使用します 私たちの場合。

手順:

  1. 静的コンテンツを保存するディレクトリを作成します(/var/www/your.domain.comを使用します) )

    sudo mkdir -p /var/www/your.domain.com
  2. 作成したディレクトリに現在のユーザーがアクセスできることを確認します

    sudo chown -R ${USER}:${USER} /var/www/your.domain.com
    sudo chmod -R 755 /var/www/your.domain.com
  3. ディレクトリ(/var/www/your.domain.com/index.html)にサンプルファイルを追加します )

    cat > /var/www/your.domain.com/index.html <<EOF
    <html>
    <head>
        <title>Hola from your.domain.com!</title>
    </head>
    <body>
        <h1>Hey!</h1>
        <p>Our site <i>your.domain.com</i> is working as expected.</p>
    </body>
    </html>
    EOF
  4. ディレクトリ/etc/nginx/conf.dにnginx構成を作成します ここで、nginxは、提供時に含める構成を検索します。ファイル/etc/nginx/conf.d/your.domain.com.confを作成します 必要なコンテンツを含む。

次のコマンドを使用します:

cat > /etc/nginx/conf.d/your.domain.com.conf <<EOF
server {
    listen 80;
    server_name your.domain.com;

    root /var/www/your.domain.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
EOF
  1. テストして、nginxファイルのいずれにも構文エラーがないことを確認します

    sudo nginx -t
  2. エラーがない場合は、nginxを再起動して構成を再読み込みします

    sudo systemctl restart nginx
  3. ドメインがサーバーに到達できるようにするには、DNS構成を編集して、サイトのAレコードがyour.domain.comであることを確認します。 サーバーIPを指しています。

これで、サイトが稼働しているはずです。 http://your.domain.com

にアクセスして確認します

Nginxの重要なNginxファイルとディレクトリ

  • /var/www/html :これはWebコンテンツディレクトリです。これには、ファイルindex.nginx-debian.htmlのデフォルトのページコンテンツが含まれています 。そのページは、specifixサーバーホストが定義されていない場合にレンダリングされます。

  • /etc/nginx :これにはすべてのnginx構成ファイルが含まれています。

  • /etc/nginx/nginx.conf :これはメインのグローバルnginx構成ファイルです

  • /etc/nginx/sites-available/ :サイトごとのサーバーブロックを保存できるディレクトリ。 Nginxは、sites-enabledにリンクされていない限り、このディレクトリにある構成ファイルを使用しません。 ディレクトリ。通常、すべてのサーバーブロック構成はこのディレクトリで行われ、他のディレクトリにリンクすることで有効になります。

  • /etc/nginx/sites-enabled/ :有効なサイトごとのサーバーブロックが保存されているディレクトリ。通常、これらは、sites-availableディレクトリにある構成ファイルにリンクすることによって作成されます。

  • /etc/nginx/snippets :このディレクトリには、Nginx構成の他の場所に含めることができる構成フラグメントが含まれています。繰り返し可能な構成セグメントは、スニペットにリファクタリングするのに適しています。

  • /var/log/nginx/access.log :Nginxが別の方法で実行するように構成されていない限り、Webサーバーへのすべてのリクエストはこのログファイルに記録されます。

  • /var/log/nginx/error.log :Nginxエラーはすべてこのログに記録されます。


Ubuntu
  1. CentOS8にNginxをインストールして構成する方法

  2. Ubuntu20.04にNginxをインストールして構成する方法

  3. Ubuntu 20.04にVarnishをインストールして構成する方法は?

  1. Ubuntu16.04にNginxをインストールする方法

  2. Ubuntu18.04にGitLabをインストールして構成する方法

  3. Ubuntu18.04にNagiosをインストールして構成する方法

  1. Ubuntu 18.04 /Debian9にNginxをインストールして構成する方法

  2. Ubuntu16.04LTSにKolabグループウェアをインストールして構成する

  3. Ubuntu16.04LTSにPicoCMSをインストールして構成する