nginx的反向代理配置

    首先說明一下,nginx的反向代理和nginx的負載均衡很類似,nginx通常被做爲反向代理實現負載均衡,有的人也把nginx的反向代理當作負載均衡,把nginx的負載均衡當作反向代理。nginx有不少功能和高性能,而它的強大的反向代理功能是它火的最主要緣由。
php

    這裏nginx的安裝就略去了,首先查看配置文件:
html

[root@nginx conf]# cat nginx.confnginx

user  nobody;apache

worker_processes  1;服務器

error_log  logs/error.log;app

pid        logs/nginx.pid;負載均衡


events {ide

    worker_connections  1024;性能

    use epoll;網站

}


http {

    include       mime.types;

    default_type  application/octet-stream;


    sendfile        on;

    keepalive_timeout  65;

    include extra/fanxiangdaili.conf;  ///引用fanxiangdaili.conf這個文件

}


而後查看一下我配置的反向代理文件裏面都是哪些內容:

[root@nginx extra]# cat fanxiangdaili.conf 

server {

    listen 80;   ///監聽本機的全部80端口

    server_name 10.10.16.29;  ///客戶端要訪問本服務器時輸入的域名,因爲這裏沒有配置dns服務器,就用ip地址代替相應的域名,效果是同樣的。


    location / {

proxy_pass http://127.0.0.1:88;    ///將客戶端發出的請求所有送到127.0.0.1這臺機器的88端口,也就是本機的88端口,這裏的88端口,我用的是Apache,通常nginx做爲反向代理時,代理的是動態頁面(好比php),而後將動態頁面請求扔給Apache處理,扔的過程就是靠這句代碼實現

    } 

}


[root@nginx conf]# yum install httpd -y   ///搭建Apache服務器

[root@nginx conf]# vi httpd.conf   ///修改Apache的監聽端口,將默認的80端口改爲88端口

  134 Listen 88

[root@nginx html]# cat index.html  ///建立Apache網站的主頁(/var/www/html/index.html)

hehe apache

[root@nginx sbin]# ./nginx -s reload  ///重啓nginx服務,使更改生效


ok,到這裏,客戶端能夠訪問了,看以下效果:

wKioL1PhpiGjatewAABxvGJRtmc956.jpg

用戶訪問10.10.16.29,返回了Apache的主頁,說明nginx的反向代理功能作成功了。

這裏還能夠將要反向代理的機器配成其餘機器而不是本機,在fanxiangdaili.conf配置文件改就好了,不過,通過驗證,一臺nginx服務器只能代理一個ip,想代理多個ip的話就用負載均衡吧(即upstream模塊)。

[root@nginx extra]# cat fanxiangdaili.conf 

server {

    listen 80;

    server_name 10.10.16.29;


    location / {

# proxy_pass http://127.0.0.1:88;

proxy_pass http://10.10.16.91;

    } 

}


[root@nginx sbin]# ./nginx -s reload 

如今客戶端再訪問,見效果:

wKioL1Php3aSS-DbAACPZYJ06eA181.jpg

結果顯示,訪問同一個地址10.10.16.29,獲得的是另一個頁面,這代表nginx的反向代理功能作成功了!

相關文章
相關標籤/搜索