GNU/Linux >> Linux の 問題 >  >> OpenSuse

Nginxをプロキシとしてインストールおよび設定する方法OpenSUSELeap15.3

このガイドでは、OpenSUSE Leap 15.3にNginxをインストールし、プロキシサーバーとして設定する方法を学習します。ドメインからのリクエストをポートでリッスンしているサービスにプロキシするNginx仮想ホストをセットアップします。

関連コンテンツ

  • Ubuntu 20.04にPHPとNginx(LEMP)をインストールしてセットアップする方法
  • Rocky Linux /Centos8にApachePHP7.4(LAMP)スタックをインストールする方法
  • Debian 11にPHPとNginx(LEMP)をインストールしてセットアップする方法
  • Debian 11にPHPとApache(LAMPスタック)をインストールしてセットアップする方法

目次

  1. サーバーが最新であることを確認する
  2. OpenSUSELeap15.3へのNginxのインストール
  3. OpenSUSEでのNginxサービスの開始と有効化
  4. プロキシサービスの設定
  5. リクエストをプロキシするためのNginx仮想ホストの作成
  6. 構成のテスト

1。サーバーが最新であることを確認する

先に進む前に、サーバーが最新であることを確認することをお勧めします。これを実現するには、これらのコマンドを使用してください

sudo zypper refresh
sudo zypper update -y

2。 OpenSUSELeap15.3へのNginxのインストール

Nginxは、安定した高性能Webサーバーであり、リソースの消費量が非常に少なくなっています。 Nginxには、イベントに基づいてはるかにスケーラブルな非同期アーキテクチャがあります。

NginxはデフォルトのUpenSUSEリポジトリで利用できます。次のコマンドを使用してインストールします:

sudo zypper install -y nginx

インストールされているnginxを確認します

~> zypper info nginx
Loading repository data...
Reading installed packages...


Information for package nginx:
------------------------------
Repository     : Main Repository
Name           : nginx
Version        : 1.19.8-3.6.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 2.2 MiB
Installed      : Yes
Status         : up-to-date
Source package : nginx-1.19.8-3.6.1.src
Summary        : A HTTP server and IMAP/POP3 proxy server
Description    :
    nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
    It has been running on many heavily loaded Russian sites for more than two years.

3。 nginxサービスの開始と有効化

インストールされたNginxサービスはデフォルトでは開始されません。サービスを開始するには、次のコマンドを使用します:

sudo systemctl start nginx

次のコマンドを使用して、サービスが稼働していることを確認します。

~> sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-12-20 18:56:15 UTC; 36s ago
    Process: 31740 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
   Main PID: 31741 (nginx)
      Tasks: 2 (limit: 4587)
     CGroup: /system.slice/nginx.service
             ├─31741 nginx: master process /usr/sbin/nginx -g daemon off;
             └─31742 nginx: worker process

Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Started The nginx HTTP and reverse proxy server.

起動時にサービスを有効にするには、次のコマンドを使用します:

sudo systemctl enable nginx

4。プロキシへのサービスの設定

この例では、私がすでに構築した単純なサービスを使用します。ここにgolangサービスがありますが、お気軽にご利用ください。

➜ /tmp/gosimple
2021/12/20 23:38:34 service running, listening on 3000

サービスをテストする

➜ curl -iL http://127.0.0.1:3000/
HTTP/1.1 200 OK
Date: Mon, 20 Dec 2021 20:39:01 GMT
Content-Length: 12
Content-Type: text/plain; charset=utf-8

Hello World!

5。リクエストをプロキシするためのNginx仮想ホストの作成

Nginxを使用すると、仮想ホストを使用して複数のサイトにサービスを提供できます。仮想ホストの概念により、1つのシステムまたはWebサーバー上に複数のWebサイトを配置できます。サーバーは、ホスト名によって区別されます。 Webサイトへの訪問者は、ホスト名またはIPアドレスによって正しい仮想ホストにルーティングされます。仮想ホスティングにより、1台のサーバーを共有する企業はそれぞれ独自のドメイン名を持つことができます。

Nginxサーバーブロックを使用して、構成の詳細をカプセル化し、単一のサーバーで複数のドメインをホストできます。サイトの仮想ホストを作成します(site1.citizix.com

Nginx仮想ホストの構成は、ディレクトリ/etc/nginx/conf.d/に保存されます 。私たちのサイトの構成を作成しましょう:

sudo vim /etc/nginx/conf.d/site1.citizix.com.conf

次のコンテンツを追加します

server {
    listen 80;
    server_tokens off;
    client_max_body_size 100M;
    server_name site1.citizix.com;

    access_log /var/log/nginx/site1.citizix.com.log;
    error_log  /var/log/nginx/site1.citizix.com.log;

    root /opt/simpleapp;

    if ($host !~* ^(site1.citizix.com)$) {
        return 444;
    }

    location / {
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_pass http://127.0.0.1:3000;
    }
}

適用する構成のnginxを再起動しましょう:

sudo systemctl restart nginx

6。構成のテスト

この例では、ドメインsite1.citizix.comを使用します 仮想ホスト用ですが、選択したドメインを自由に使用できます。使用するドメインのDNSは、サーバーのIPアドレスを指すようにすでに構成されている必要があることに注意してください。確認:

dig -t A site1.citizix.com

DNS設定をまだ構成していない場合、または単にサイトを公開したくない場合は、コンピューターのhostsファイルを変更できます。これを行うには、ローカルコンピューターのCLIで次のコマンドを使用します

sudo vim /etc/hosts

次に、実際のサーバーのIPアドレスに続けて、構成しているドメイン名を追加します。例:

10.2.11.11 site1.citizix.com

この設定で、ドメインにリクエストを送信できます。私にとっては問題なく動作します!

➜ curl -iL http://site1.citizix.com
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Dec 2021 20:51:42 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 12
Connection: keep-alive

Hello World!

まとめ

このガイドでは、プロキシとして機能するNginxをインストールしてセットアップすることができました!


OpenSuse
  1. OpenSUSELeap42.1にPostgreSQLとphpPgAdminをインストールする方法

  2. openSUSELeap42.1にNginxを使用してSeafileをインストールする方法

  3. OpenSUSELeap15.3でPodmanをインストールして使用する方法

  1. OpenSUSELeap15.3にMongodb5をインストールする方法

  2. OpenSUSELeap15.3にJava17をインストールする方法

  3. OpenSUSE Leap 15.3にPHPとApache(LAMPスタック)をインストールしてセットアップする方法

  1. OpenSUSELeap15.3にMariadb10をインストールして構成する方法

  2. OpenSUSE Leap 15.3にPHPとNginx(LEMP)をインストールしてセットアップする方法

  3. OpenSUSELeap11にSquidProxyをインストールして設定する方法