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

LAMPサーバーでNginxキャッシュを設定する方法

Apacheは、利用可能な最も信頼性が高く強力なWebサーバーの1つです。 Apacheはオープンソースであり、高度にカスタマイズ可能であり、機能を追加できるようにする多くのモジュールが付属しています。そのパワーで知られており、中小規模のWebサイト向けに特別に設計されています。

ApacheをNginxおよびFastCGIキャッシュと並行して使用すると、両方の長所を活用できます。この設定により、両方のWebサーバーアプリケーションの長所を使用して、Webサーバーのパフォーマンスが向上します。 Nginx FastCGIキャッシュは、ファイルのコピーをキャッシュに保存して、より迅速にアクセスできるようにすることで機能します。

このチュートリアルでは、Ubuntu18.04でLAMPサーバーを使用してNginxFastCGIキャッシュをセットアップする方法を示します。 FastCGIキャッシュを使用して、Apacheをバックエンドサーバーとして構成し、Nginxをフロントエンドサーバーとして構成します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上の新しいUbuntu18.04VPS
  • サーバーで構成されているrootパスワード

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。少なくとも1GBのRAMを搭載したオペレーティングシステムとしてUbuntu18.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

Ubuntu 18.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

apt-get update -y

ステップ2–LAMPサーバーをインストールする

First, install the Apache web server, PHP, PHP-FPM and other modules with the following command:

apt-get install apache2 php php-fpm libapache2-mod-php7.2 libapache2-mod-fcgid -y
>

すべてのパッケージをインストールしたら、ApacheがPHP-FPMで動作できるように、いくつかの必要なApacheモジュールを有効にする必要があります。

次のコマンドで有効にできます:

a2enmod actions fcgid alias proxy_fcgi

次に、Apacheサービスを再起動して変更を適用します。

systemctl restart apache2

ステップ3–サンプルWebサイトを作成する

まず、次のコマンドを使用してWebサイトのディレクトリを作成します。

mkdir /var/www/html/example.com

次に、Webサイトディレクトリ内にサンプルのinfo.phpファイルを作成します。

nano /var/www/html/example.com/info.php

次の行を追加します:

<?php phpinfo(); ?>

ファイルを保存して閉じてから、Webサイトの所有権をwww-dataユーザーに変更します。

chown -R www-data:www-data /var/www/html/example.com
chmod -R 755 /var/www/html/example.com

終了したら、次のステップに進むことができます。

ステップ4–ApacheWebサーバーを構成する

nano /etc/apache2/ports.conf

行を「Listen80」から「Listen8088」に変更します。

Listen 8088

終了したらファイルを保存して閉じ、次のコマンドでApacheのデフォルトの仮想ホストファイルを無効にします。

a2dissite 000-default.conf

次に、ApacheWebサーバーを再起動して変更を実装します。

systemctl restart apache2

次に、Webサイトにサービスを提供するための新しい仮想ホスト構成ファイルを作成します。

nano /etc/apache2/sites-available/example.com.conf

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

<VirtualHost 127.0.0.1:8088>
ServerName 127.0.0.1
ServerAdmin [email protected]
DocumentRoot /var/www/html/example.com
DirectoryIndex info.php

<FilesMatch \.php$>
# 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
</FilesMatch>

<Directory /var/www/html/>
Options FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
CustomLog /var/log/apache2/access.log combined
ErrorLog /var/log/apache2/error.log
</VirtualHost>

終了したらファイルを保存して閉じ、次のコマンドでApache仮想ホスト構成ファイルを有効にします。

a2ensite example.com.conf

次に、Apacheサービスを再起動して、変更を適用します。

systemctl restart apache2

この時点で、Apache Webサーバーが構成され、ポート8088のローカルホストでリッスンしています。

ステップ5–FastCGIキャッシュを使用してNginxをリバースプロキシとして構成する

このセクションでは、NginxをApache Webサーバーのリバースプロキシとして構成し、FastCGIキャッシュを有効にします。

まず、次のコマンドを使用してNginxWebサーバーをインストールします。

apt-get install nginx -y

インストールしたら、新しいNginx仮想ホスト構成ファイルを作成します。

nano /etc/nginx/sites-available/example.com.conf

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

# Enable FastCGI Support
proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=nginxcache:100m max_size=1g inactive=60m use_temp_path=off;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
add_header X-Cache $upstream_cache_status;

server {
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location = /favicon.ico { access_log off; log_not_found off; }
set $skip_cache 0;

#Disable caching for login session, user cookie, POST request, query string, site map and feeds
if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
set $skip_cache 1;
}

# Enable caching for your website.
location / {
proxy_pass http://127.0.0.1:8088;
proxy_set_header Host $host;
proxy_buffering on;
proxy_cache nginxcache;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 
http_503 http_504;
proxy_cache_valid 200 301 302 60m;
proxy_cache_min_uses 1;
proxy_cache_lock on;

}
}

終了したらファイルを保存して閉じ、次のコマンドでNginx仮想ホストファイルを有効にします。

ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

次に、Nginxサービスを再起動して、変更を適用します。

systemctl restart nginx

ステップ6–NginxFastCGIキャッシュをテストする

この時点で、Nginxは、FastCGIキャッシュをサポートするApacheのリバースプロキシとしてインストールおよび構成されています。キャッシュが機能しているかどうかを確認するときが来ました。

Webブラウザーを開き、URLhttp://example.comを使用してNginxWebサーバーにアクセスし、ページを数回リロードします。

次に、ターミナルを開き、次のコマンドを実行してhttp応答ヘッダーをフェッチします。

curl -I http://example.com

次の出力が得られるはずです:

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Fri, 24 Apr 2020 17:01:42 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Cache: HIT

上記の出力から、 X-Cache:HIT 応答がキャッシュから提供されたことを示します。

結論

上記のガイドでは、Apache Webサーバーをバックエンドサーバーとしてインストールし、NginxをFastCGIキャッシングを備えたフロントエンドサーバーとして構成しました。うまくいけば、この設定によってWebサーバーのパフォーマンスが劇的に向上します。今すぐAtlantic.NetのVPSホスティングを使用してLAMPサーバーでFastCGIキャッシングを開始してください!


Linux
  1. Ubuntu18.04LTSでNginxサーバーブロックを設定する方法

  2. Apacheを使用してUbuntuサーバーでWordPressをセットアップする方法

  3. Debian11にLAMPサーバーをインストールする方法

  1. Node.jsのフロントエンドプロキシとしてApacheを設定する方法

  2. CentOS8にLAMPサーバーをインストールする方法

  3. Ubuntu14.04にNginxをインストールする方法

  1. FreeBSDにApacheをインストールする方法

  2. Debian7にNginxをインストールする方法

  3. Fedora20にApacheをインストールする方法