Apache は、UNIX / Linux、Microsoft Windows、OpenVMS など、多数のオペレーティング システムで動作する、最も人気のある Web サーバーです。
NGINX は、特に静的ファイルやリバース プロキシとして使用される高性能 Web サーバーですが、その汎用性のおかげで、あらゆる種類の状況で使用できます。
このチュートリアルでは、両方の Web サーバーを完全に調和させて連携させることで、両方の長所を活用する方法を学びます。 NGINX は、クライアント リクエストを処理して Apache に送信するフロントエンド Web サーバーとして使用されます。Apache はバックエンド Web サーバーとなり、要求された応答を返します。この手順により、パフォーマンスから安全性までさまざまなメリットが得られます。
まず、SSH 接続を介してサーバーに接続します。まだ行っていない場合は、ガイドに従って SSH で安全に接続することをお勧めします。ローカル サーバーの場合は、次のステップに進み、サーバーのターミナルを開きます。
Apache のインストールと構成
Ubuntu Linux ディストリビューションのリポジトリを更新して、Apache の最新バージョンをダウンロードしてください:
$ sudo apt-get update
次に、インストールを開始します:
$ sudo apt install apache2
この時点で、Apache のインストールが完了し、その構成を続行できます。
Apache がデフォルトで使用するポートを 8080 に変更します。これを行うには、次のように構成ファイルを開きます。
$ sudo nano /etc/apache2/ports.conf
Listen 80 行を見つけて Listen 8080 に変更し、ファイルを保存して閉じます。
Apache サービスを再起動します:
$ sudo systemctl restart apache2
Apache ポートの変更を確認するには、http://
NGINX のインストールと構成
NGINX のインストールを開始して続行します:
$ sudo apt-get install nginx
インストールが完了したら、次のように NGINX 構成ファイルを開きます。
$ sudo nano /etc/nginx/nginx.conf
次に、ここに示すようにサーバー ブロックを編集または追加して、NGINX を Apache プロキシ サーバーとして使用します。
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm;
server_name SERVER_IP;
location / {
proxy_pass http://localhost:8090;
proxy_set_header Host $http_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-Proto $scheme;
}
}
ファイルを保存して閉じます。
次に、NGINX サービスを再起動します:
$ sudo systemctl restart nginx
ファイアウォールの構成
システムにファイアウォールがある場合は、マシンへの HTTP トラフィックと HTTPS トラフィックを有効にするように設定してください。
UFW ファイアウォールを使用する場合、NGINX のプロファイルがプリインストールされています。それでは、それらを有効にする方法を見てみましょう。
UFW ファイアウォールにインストールされている利用可能なプロファイルを確認するには、次のコマンドを実行します:
$ sudo ufw app list
次のようなリストが画面に表示されます:
Available applications:
Dovecot IMAP
Dovecot POP3
Dovecot Secure IMAP
Dovecot Secure POP3
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission
HTTP (ポート 80) および HTTPS (ポート 443) トラフィックを許可するには、「Nginx Full」プロファイルを使用します。
プロフィール情報は次のように確認できます:
$ sudo ufw app info "Nginx Full"
プロフィールの説明が画面に表示されます:
Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server
Ports:
80,443/tcp
プロファイルを確認した後、プロファイルを有効にすることができます:
$ sudo ufw allow in "Nginx Full"
最後に、アドレス http://
手順が正しく実行された場合、Web サイトはデフォルトの Apache 画面で表示されます。これは、リバース プロキシが機能し、正しく構成されていることを意味します。