同じUbuntu VPSまたは専用サーバーでNginxとApacheを一緒に構成する方法

NginxとApacheは、優れた強力なWebサーバーです。ただし、どちらにも欠点があります。 Apacheはサーバーメモリを消費しますが、Nginx(静的ファイルに最適)は動的コンテンツを処理するためにphp-fpmの助けを必要とします.


この記事では、NginxとApacheが連携するように構成する方法について説明します.

概観

Nginxは高トラフィックを処理するように設計された優れた軽量Webサーバーであり、Apacheは世界中のすべてのアクティブなWebサイトの半分以上を処理するもう1つの人気のあるWebサーバーです。 Nginxが静的Webサーバーのフロントとして機能し、Apacheがバックエンドを処理している間に、2つのWebサーバーを組み合わせると大きな効果が得られます。それでは、Nginxを構成してApacheと並行して動作する方法を見てみましょう.

ApacheとNginxの構成

サーバーごとに異なるポートを設定します。つまり、Nginx用にポート80を残して、Apacheに別のポートを割り当てることができます.

Nginx

Nginxをインストールする

サイトのフロントエンドとして機能するNginxをインストールして構成する.

apt-getからダウンロードします。

sudo apt-get install nginx

ダウンロードが完了したら、仮想ホストをフロントエンドで実行するように構成します。ただし、構成ファイルにいくつかの変更が必要です.

Nginxを構成する

nginx設定ファイルを開きます

sudo nano / etc / nginx / sites-available / example

たとえば、127.0.0.1:8080でリッスンするようにapacheに指示し、静的コンテンツを提供しながらApacheへの–proxyトラフィックをリバースするようにNginxに指示することができます。

サーバー{
127.0.0.1:80をリッスンします。
server_name some.name another.dname;
access_log /var/log/nginx/something-access.log;
場所/ {
proxy_pass http:// localhost:8080;
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;
}
場所〜* ^。+ \。(jpg | js | jpeg | png)$ {
root / some / where / on / your / disks;
}
;ここに静的ホスティング設定を入れます.
}

仮想ホストをアクティブ化.

sudo ln -s / etc / nginx / sites-available / example / etc / nginx / sites-enabled / example

デフォルトのNginxサーバーブロックを削除する.

sudo rm / etc / nginx / sites-enabled / default

Apache

Apacheをインストールする

Apacheであるバックエンドをインストールします

sudo apt-get install apache2

Nginxが開始されていないため、Apacheはポート80で実行を開始します。 Apacheが別のポートでリッスンして、一緒に動作できるようにしましょう.

Apacheの構成

Apacheを開く ports.conf 以下のコマンドを使用してファイル。

sudo nano /etc/apache2/ports.conf

次の行を探します。

127.0.0.1:80を聞く

さらに、それを次のように変更します。

127.0.01:8080を聞く

セーブ そして 出口.

次に、Apacheでデフォルトの仮想ホストファイルを編集します。このファイルのは、ポート80でのみサイトを提供するように設定されています

sudo nano /etc/apache2/sites-available/000-default.conf

次の行を探します。

さらに、それを次のように変更します。

ファイルを保存してApacheをリロードします.

sudoサービスapache2リロード

Apacheが8080でリッスンしていることを確認します.

sudo netstat -tlpn

以下に出力を示します。 apache2 聞いている ::: 8080.

アクティブなインターネット接続(サーバーのみ)
Proto Recv-Q Send-Qローカルアドレス外部アドレス州PID /プログラム名
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1086 / sshd
tcp6 0 0 ::: 8080 ::: * LISTEN 4678 / apache2

Nginxはポート上のフロントWebサーバーとして構成されて実行されていますが、Apacheはポート8080上のバックエンドで実行されるように構成されています。静的コンテンツを提供するため、nginxはプロキシトラフィックをリダイレクトします.

結論

この単純な構成から最も重要なことは、ApacheとNginxが連携して動作できることです。両方が同じポートをリッスンしているときに問題が発生する可能性があります。異なるポートをリッスンすることにより、システムの機能が保証されます.

Linuxホスティングサービスのトップ3をご覧ください

FastComet

開始価格:
$ 2.95


信頼性
9.7


価格
9.5


使いやすい
9.7


サポート
9.7


特徴
9.6

レビューを読む

FastCometにアクセス

Hostinger

開始価格:
$ 0.99


信頼性
9.3


価格
9.3


使いやすい
9.4


サポート
9.4


特徴
9.2

レビューを読む

Hostingerにアクセス

ChemiCloud

開始価格:
$ 2.76


信頼性
10


価格
9.9


使いやすい
9.9


サポート
10


特徴
9.9

レビューを読む

ChemiCloudにアクセス

関連するハウツー記事

  • Ubuntu 18.04 VPSまたは専用サーバーで複数のWebサイトをホストする方法
    中間
  • Ubuntu 16.04 VPSまたは専用サーバーでNginxをApacheのリバースプロキシとして構成する方法
    専門家
  • Ubuntu 18.04 VPSまたは専用サーバーにApache Cassandraをインストールする方法
    中間
  • Ubuntu 18.04 VPSまたは専用サーバーでApache Mod_Rewriteを有効にする方法
    専門家
  • インストール & CentOS 7 VPSでCaddy Webサーバーを構成する
    中間
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me