Nginx和Apache的共存
请参考以下链接:
- Nginxでリバースプロキシを設定し、Apacheと共存させる
当使用nginx进行反向代理时,需要添加模块以正确获取IP信息。
sudo yum install httpd-devel
cd /root/tmp
wget http://www.openinfo.co.uk/apache/extract_forwarded-2.0.2.tar.gz
tar zxf extract_forwarded-2.0.2.tar.gz
cd extract_forwarded
apxs -i -c -a mod_extract_forwarded.c
更改 Apache 的执行用户和端口
vim /etc/httpd/conf/httpd.conf
以下是原生中文的释义:
/etc/httpd/conf/httpd.conf可以被简洁地概括为与Apache服务器相关的配置文件。
Listen 8080
#####
User nginx
Group nginx
#####
ServerName sample.jp:8080
# 最終行に追加
MEForder refuse,accept
MEFrefuse all
# Nginx(リバースプロキシ)のIPアドレス
MEFaccept 127.0.0.1
# ヴァーチャルホスト使っている場合はヴァーチャルホストのポートも変更
请重新启动Apache并应用配置。
service httpd restart
在nginx中的传输设置
cd /etc/nginx/conf.d
vim default.conf
默认.conf
#デフォルトサーバー
server {
listen 80;
server_name backend;
# このサーバへの全てのアクセスを転送
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
# この設定がなくても.htaccessでの制限は可能。
# ただし、cgi等から参照した際にNginxのIPアドレスになる。
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# 以下は、cgi等で明示的に利用していなければ、有効にする必要なし。
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
# この設定がなくてもcgi等から正しいIPを確認可能。
# ただし、.htaccessでの制限は不可。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
或许最好先放进去吗?
# キャッシュ関連設定
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=czone:4m max_size=50m inactive=120m;
proxy_temp_path /var/tmp/nginx;
proxy_cache_key "$scheme://$host$request_uri";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# バックエンドサーバ−(Apache)設定
upstream backend {
# ip_hash;
server 127.0.0.1:8080;
}
重启Nginx以应用配置更改。
service nginx restart