ご存知のように、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でリッスンするようにApache Webサーバーを構成する必要があります。これは、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サーバーおよびリバースプロキシとして構成する方法を学習しました。これがあなたのウェブサイトのパフォーマンスを向上させるのに役立つことを願っています。