Debian wheezyサーバーにnginxをプロキシとしてインストールする場合、すべての静的コンテンツがnginxから直接配信されるようにApache設定を変更するにはどうすればよいですか?
私のサーバーはすでに約250のドメインを実行しており、この問題を解決するためにnginxを介してすべてを再ルーティングすることを検討しています。 apache2.2 は、目詰まりを防ぐために 1024 より強力な DH パスワードを使用できません。
答え1
Nginxの背後にあるApacheがプロキシおよび静的コンテンツサーバーとして機能するようにするには、次の2つのソリューションがあります。
1.static.yoursite.asd などの静的コンテンツに対してのみ新しいサブドメインを作成できます。もちろん、DNSレコードを変更するように求められます(実行方法は次のとおりです)。http://content.websitegear.com/article/subdomain_setup.htm)。 Nginx構成ファイルには2つのサーバーブロックが必要です。 1つは静的コンテンツを提供するために使用され、もう1つはトラフィックをApacheにリダイレクトするために使用されます。静的コンテンツのサーバーブロックは次のとおりです。
server {
listen 80;
server_name static.localhost;
location / {
root /path/to/static/content;
# 404 if file does not exist
try_files $uri $uri/ =404;
}
}
以下は、トラフィックをApacheにリダイレクトするサンプルサーバーブロックです。 (Apacheがポート8000で動作していると仮定)
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location / {
proxy_pass http://localhost:8000;
}
}
2.Nginxにサーバーブロックがある可能性がありますが、2つの異なる場所を使用できます。 DNS レコードを変更する必要がないため、労力が少なくなります。 yoursite.asd/static/ に静的ファイルを配置し、ルート位置( yoursite.asd/ )にあるApacheにリダイレクトするとします。
静的コンテンツを提供する場所の例は次のとおりです。
location /static/ {
root /path/to/content;
# we don't want to have static files only in folder "static" in
# root document, so let's rewrite it to our root document
rewrite ^/static/(.*)$ /$1 break;
}
以下は、ポート8000からApacheにトラフィックをリダイレクトする場所の例です。
location / {
proxy_pass http://localhost:8000;
}