======
以前寫過http://www.qzkangyuan.com/html/help/server/2016/0912/4185.html">Nginxhttp://www.qzkangyuan.com/html/help/server/2016/0916/4455.html">反向署理通過with-http_sub_module和substitutions4nginx模塊替換正文內容和URL和在軍哥lnmp的情況下設置反向署理處事器的要領教程
本教程基于軍哥lnmp情況,其他Nginx類同。區別在于nginx conf的位置,一般編譯的在/usr/local/nginx/conf/,從源安裝的在/etc/nginx。
lnmp的安裝這里省略,下面教程是在已經安裝好的lnmp情況下設置反向署理處事器,并實現替換內容。
一、僅僅作為反向署理處事器,做cdn加快,不替換內容
找到您的nginx conf地址位置,一般編譯的在/usr/local/nginx/conf/,從源安裝的在/etc/nginx
在nginx.conf的http層插手以下內容:
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/cache/temp;
#姑且文件目次
proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache_one:5m inactive=7d max_size=1g;
#5m為內存占用,1g為最大硬盤占用,cache_one為緩存區名字,假如修改則下文的設置亦要相應修改。
mkdir /home/cache/path -p
mkdir /home/cache/temp
chmod 777 -R /home/cache
新增虛擬主機設置:
vi /usr/local/nginx/conf/vhost/xxorg.com.conf
#xxorg.com是你要綁定的域名
設置文件內容:{后端(ip為1.2.3.4)綁定域名xxorg.com,前端綁定域名xxorg.com,域名理會到前端,實現cdn加快。}
server{
listen 80;
server_name example.com www.example.com;
#綁定的域名
index index.php;
#默認首頁
access_log off;
#off 封鎖日志
location / {
proxy_cache_key "$scheme://$host$request_uri";
#緩存key法則,用于自動排除緩存。
proxy_cache cache_one;
#緩存區名稱,與前面界說的溝通
proxy_cache_valid 200 304 3h;
proxy_cache_valid 301 3d;
proxy_cache_valid any 10s;
#200 304狀態緩存3小時
301狀態緩存3天
其他狀態緩存(如502 404)10秒
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#向后端通報訪客ip
proxy_set_header Referer http://example.com;
#強制界說Referer,措施驗證判定會用到
proxy_set_header Host $host;
#界說主機頭
proxy_pass http://1.2.3.4;
#指定后端ip,可以加端口
#proxy_cache_use_stale invalid_header error timeout http_502;
#當后端呈現錯誤、超時、502狀態時啟用逾期緩存,慎用。
}
}
如無意外,重啟nginx后把xxorg.com綁定到前端就可以會見了
也可以用以下要領查察設置文件是否正確:
執行:
/usr/local/nginx/sbin/nginx -t
查抄設置是否正常,假如顯示:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
就說明nginx的設置文件正常,不然按錯誤提示修改設置。
然后執行
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
使設置生效,
/etc/init.d/nginx restart
=========================
二、下面通過Nginx反向署理別人的網站,并替換相關內容
1.編譯nginX:
apt-get update#nginx-full這個包內里包括著所有需要用到的模塊。
cd /root
apt-get update
apt-get install -y git gcc g++ make automake
#安裝依賴包,Centos將apt-get變動為yum
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --add-module=/root/ngx_http_substitutions_filter_module
make
make install
假如您用的系統是Debian,就不需要編譯了。