Apacheのフロントエンドとしてnginxを作成する

このトピックはかなりbeatられていますが、インターネット上では、この質問に対する短く明確な答えを見つけるのはそれほど簡単ではありません。 そのため、私はすべてを小さな指示の形で収集することにしました。



まず、作業のロジックを理解します。 すべてが非常に簡単です。nginxは静的ファイルを提供し、Apacheはダイナミクスを処理します(図を参照)。



画像



この例はUbuntu Server 10.04に実装されています



ステップ1:Apache、PHP、MySQL、nginxをインストールする




Apacheのインストール

apt-get apache2のインストール

[+ mod_rewrite]

a2enmodの書き換え



PHPのインストール

apt-get php5-cliのインストール



MySQLのインストール

apt-get mysql-serverのインストール

apt-get install mysql-client-core-5.1

apt-get php5-mysqlをインストール



nginxをインストールする

apt-get install nginx

構成-> / etc / nginx



第二段階


ポート8080(または80以外)でApacheをハングアップします

Apache構成に変更を加えます。

/etc/apache2/ports.conf

NameVirtualHost *:8080

8080を聞く

仮想ホストがある場合、ポート8080でハングする必要もあります



第三段階


nginxを構成する

ディレクトリに設定ファイルを作成します:/ etc / nginx / sites-available

server {

listen *:80; ## listen for ipv4

server_name _;

access_log /var/log/nginx/access.log;

# back-end

location / {

proxy_pass _:8080/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $remote_addr;

proxy_connect_timeout 120;

proxy_send_timeout 120;

proxy_read_timeout 180;

}

# nginx

# back-end

location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {

root ____;

}

}






第4ステップ


Apacheとnginxを再起動します:

/etc/init.d/apache2 restart

/etc/init.d/nginx restart



All Articles