nginx簡介
對於現有的服務器組來說,經常有 A可以訪問B,B可以訪問C,但是A不能直接訪問C的情況,這個時候我們可以通過B做跳轉。當然其實實現的方式有很多,比如windows下使用netsh,lunix下使用nat,但是這裏介紹一種更加萬金油的方式,在不影響B的任何配置的情況下,通過nginx直接進行相關配置解決問題,本文通過以下幾個方面介紹
- nginx安裝
- nginx配置oracle代理
- nginx配置網站代理並且實現負載均衡
nginx安裝
本文使用了windows環境進行演示,實際Linux環境下操作基本上沒有區別。首先下載nginx,下載地址http://nginx.org/en/download.html
找到自己對應環境的安裝包。
nginx本身是免安裝的,我們將下載下載的內容直接解壓。
解壓後nginx就可以使用了
配置oracle代理
找到解壓目錄中的conf文件夾中的ngInx.conf文件,用文本編輯器打開。增加如下配置
如果要代理oracle或者mysql這種需要用stream
stream {
upstream oracle {
hash $remote_addr consistent;
server xx.xx.xx.xx:1521 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 3000;#公網機器監聽端口
proxy_connect_timeout 1s;
proxy_timeout 36000s;#注意這個,簡單的來說就是連接上以後session的保持時間,就是多長時間不活動下次要重新鏈接,建議設大一點
proxy_pass oracle;
}
}
加在該位置下
具體註釋上面已經寫清楚,對於oracle或者mysql這種配置要使用stream的方式,特別注意proxy_timeout這個參數設置
配置網站代理
當然比較常用的就是統一網站門戶,並且進行負載的分發,下面介紹一下對網站的代理方式
#如果要代理網絡跳轉看這裏-這個實際幾行代碼要比這個簡單,但是用這個方式可以配置負載均衡
upstream gsbx.com {
server xx.xx.xx.xx:80 weight=5 max_fails=3 fail_timeout=30s;#跳過來的第一個地址,這裏可以配置多個,負載進行跳轉
#server xxxx 這裏可以接着配置
}
server {
listen 80;
server_name xx.xx.xx.xx;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://gsbx.com;
proxy_redirect default;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 10;
proxy_read_timeout 60;
proxy_send_timeout 60;
}
}
在http節點下面增加上述代碼,這裏注意在upstream 中,下面的server是可以配置多個的,這樣我們不僅實現了IP跳轉的問題,而且還相當於統一了門戶進行了複雜的分發。
具體再資源裏面已經進行了nginx以及對應配置文件的上傳,大家懶得複製代碼的可以通過以下鏈接進行下載。https://download.csdn.net/download/himly_zhang/10631058
最後,配置完成之後,我們通過cd命令,切入nginx目錄,直接敲Nginx就啓動成功了,啓動成功後系統進程中對出現兩個nginx。。如果不想用了。結束進行即可。