ご存知のように、ApacheとNginxはどちらも、世界中の無料のオープンソースで強力なWebサーバーです。 Apacheはそのパワーで知られていますが、Nginxはそのスピードで知られています。 どちらにもいくつかの欠点と利点があります。 NginxはPHP-FPMを使用してPHPファイルをロードしますが、ApacheはPHPを独自にロードします。 ApacheはWebサイトの動的部分に使用され、Nginxはグラフィック、CSS、jsファイルなどの静的ファイルを提供します。
両方を単一のサーバーで使用して、両方のメリットを享受することをお勧めします。 このチュートリアルでは、CentOS8でNginxをWebサーバーおよびApacheWebサーバーのリバースプロキシとして使用する方法を示します。
前提条件
- CentOS8を実行しているサーバー。
- サーバーIPを指すドメイン名。
- ルートパスワードがサーバーに設定されます。
ApacheとPHPをインストールする
まず、サーバーにApacheWebサーバーとPHPをインストールする必要があります。 次のコマンドを使用してインストールできます。
dnf install httpd php php-cli -y
インストールが完了したら、次のコマンドを使用してApacheサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start httpd
systemctl enable httpd
ApacheWebサーバーを構成する
デフォルトでは、Apache Webサーバーはポート80でリッスンします。したがって、ポート8080でリッスンするようにApacheWebサーバーを構成する必要があります。Apacheメイン構成ファイルを編集することでこれを行うことができます。
nano /etc/httpd/conf/httpd.conf
以下に示すように、投稿を80から8080に変更します。
Listen 8080
ファイルを保存して閉じてから、Apacheサービスを再起動して変更を適用します。
systemctl restart httpd
次に、次のコマンドを使用してApacheリスニングポートを確認します。
ss -antpl | grep httpd
次の出力が得られるはずです。
LISTEN 0 128 *:8080 *:* users:(("httpd",pid=1693,fd=4),("httpd",pid=1692,fd=4),("httpd",pid=1691,fd=4),("httpd",pid=1688,fd=4))
次に、ApacheWebルートディレクトリ内にinfo.phpファイルを作成します。
nano /var/www/html/info.php
次の行を追加します。
<?php phpinfo(); ?>
終了したら、ファイルを保存して閉じます。
次に、Webブラウザーを開き、URLにアクセスします http:// your-server-ip:8080 / info.php。 次のページが表示されます。
NginxWebサーバーをインストールします
次に、サーバーにNginxパッケージをインストールする必要があります。 次のコマンドでインストールできます。
dnf install nginx -y
Nginxがインストールされたら、次のコマンドを使用してNginxサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start nginx
systemctl enable nginx
NginxをApacheのリバースプロキシとして構成する
ここで、ポート80からのすべてのリクエストをポート8080でリッスンしているApache Webサーバーに転送するために、Nginxをリバースプロキシとして構成する必要があります。
まず、次のコマンドを使用して、新しいNginx仮想ホスト構成ファイルを作成します。
nano /etc/nginx/conf.d/proxy.conf
次の行を追加します。
server { listen 80; server_name test.example.com; location ~ .php$ { proxy_pass http://your-server-ip:8080; 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-Proto $scheme; } }
終了したら、ファイルを保存して閉じます。 次に、Nginx Webサーバーを再起動して、変更を適用します。
systemctl restart nginx
次に、Webブラウザーを開いて、URLにアクセスします。 http://test.example.com/info.php。 次のページが表示されます。
ご覧のとおり、PHPはNginxWebサーバーによって提供されます。
結論
上記のガイドでは、NginxをApacheのWebサーバーおよびリバースプロキシとして構成する方法を学習しました。 これがあなたのウェブサイトのパフォーマンスを向上させるのに役立つことを願っています。
Hope this helps!