(windows反向代理+負載均衡+理論知識)**Nginx反向代理伺服器設定
1.下載下傳并解壓
下載下傳位址:http://nginx.org/en/download.html

下載下傳的壓縮包nginx-1.16.0放到D盤,右鍵選擇解壓到目前檔案夾。
2.修改conf配置檔案
打開D:\nginx-1.16.0\conf目錄下的nginx.conf檔案,按下圖進行配置(如果你不知道自己伺服器的IP和端口号,請打開Internet Information Services (IIS)管理器oraclelis網站裡)
#user nobody; #運作使用者
worker_processes 1; #啟動程序,通常設定成和cpu的數量相等
#全局錯誤日志
error_log D:/nginx/logs/error.log; #存放日志檔案的路徑,一般放在安裝nginx目錄下的logs裡
error_log D:/nginx/logs/notice.log notice;
error_log D:/nginx/logs/info.log info;
#PID檔案,記錄目前啟動的nginx的程序ID
pid D:/nginx/logs/nginx.pid;
#工作模式及連接配接數上限
events {
worker_connections 1024; #單個背景worker process程序的最大并發連結數
}
#設定http伺服器
http {
include mime.types; #設定mime類型,類型由mime.type檔案定義
default_type application/octet-stream;
#設定日志
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
rewrite_log on;
#sendfile on; #指令指定 nginx 是否調用 sendfile 函數(zero copy)來輸出檔案,對于普通應用,
#必須設為 on,如果用來進行下載下傳等應用磁盤IO重負載應用,可設定為 off,以平衡磁盤與網絡I/O處理速度,降低系統的uptime.
#tcp_nopush on;
#連接配接逾時時間
keepalive_timeout 120; #連接配接逾時時間
tcp_nodelay on;
#gzip壓縮開關
#gzip on;
#設定實際的伺服器清單
upstream lis_server{
server 伺服器IP:端口号;
}
#HTTP伺服器
server {
listen 80; #偵聽80端口
server_name www.oraclelis.com; # 這是外網通路進來時的連接配接位址
#首頁
index index.html
#編碼格式
charset utf-8;
#代理配置參數
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_set_header Host $host;
proxy_set_header X-Forwarder-For $remote_addr;
#反向代理的路徑(和upstream綁定),location 後面設定映射的路徑
location / {
proxy_pass http://lis_server;
}
# 靜态檔案,nginx自己處理
# location ~ ^/(images|javascript|js|css|flash|media|static)/ {
# root D:\nginx-1.16.0\exp_location;
# #過期30天,靜态檔案不怎麼更新,過期可以設大一點,如果頻繁更新,則可以設定得小一點。
# expires 30d;
# }
#設定檢視Nginx狀态的位址
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
}
#禁止通路 .htxxx 檔案
location ~ /\.ht {
deny all;
}
}
}
複制上面寫入到nginx.conf檔案裡并且看截圖的注意事項,解決後後儲存ctrl+S
3.修改hosts檔案
打開C:\Windows\System32\drivers\etc下的hosts
加入圖下的内容(在cmd裡輸入ipconfig找到“IPv4 位址”檢視右側的ip,即為本機電腦的ip):
目标伺服器的IP www.oraclelis.com
修改完儲存ctrl+S
4.配置環境變量用dos指令啟動nginx
在“我的電腦”上點選滑鼠右鍵選擇“屬性”》“進階系統設定”》環境變量==》在系統環境變量裡選擇Path加入
D:\nginx-1.16.0
然後點選确認;
再打開D:\nginx-1.16.0檔案夾按住shift+滑鼠右鍵選擇“在此次打開powershell視窗
輸入nginx -t,出現如下提示則沒問題
上述沒問題後再輸入:start nginx并且點選Enter鍵執行啟動nginx反向代理伺服器
5.驗證
在浏覽器裡輸入:www.oraclelis.com
在浏覽器顯示出頁面則成功了,如果顯示下圖的界面則失敗!
6.設定成系統程序開機自啟
下載下傳winsw-2.0.2-bin.exe :http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.0.2/
然後放在D:\nginx-1.16.0重命名為nginx-service.exe在該目錄下建立 nginx-service.xml 檔案,寫入配置資訊,配置好了之後就可以通過這個将Nginx注冊為Windows服務。
nginx-service.xml寫入:
nginx nginx nginx D:nginx-1.16.0\ roll D:nginx-1.16.0\nginx.exe D:nginx-1.16.0\nginx.exe -s stop
寫入儲存後,用系統管理者運作powershell視窗跳轉到nginx路徑下輸入DOS指令:
.\nginx-service.exe install 就成功将其注冊為Windows服務了,然後運作
.\nginx-service.exe start 啟動服務。這時我們可以在Windows任務管理器的服務中檢視該是否成功啟動。
7額外的指令
如果需要停用nginx則在D:\nginx-1.16.0檔案夾按住shift+滑鼠右鍵選擇“在此次打開powershell視窗“,輸入DOS指令。
nginx -s stop
注:
nginx-service.exe install 指令可注冊對應的系統服務
nginx-service.exe uninstall 指令可删除對應的系統服務
nginx-service.exe stop 指令可停止對應的系統服務
nginx-service.exe start 指令可啟動對應的系統服務
Nginx正向代理伺服器設定
1.配置
#正向代理
server {
listen 822;
listen 443 ssl;
server_name www.baidu.com baidu.com; #填寫綁定證書的域名
#ssl on;
#ssl_certificate www.baidu.com_bundle.crt; #證書在conf檔案同級;
ssl_certificate_key 2_www.baidu.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協定配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:802; #轉發到本機項目端口
}
}
反向代理伺服器簡介
一、代理伺服器
1、什麼是代理伺服器
代理伺服器,客戶機在發送請求時,不會直接發送給目的主機,而是先發送給代理伺服器,代理服務接受客戶機請求之後,再向主機發出,并接收目的主機傳回的資料,存放在代理伺服器的硬碟中,再發送給客戶機。
2、為什麼要使用代理伺服器
1)提高通路速度
由于目标主機傳回的資料會存放在代理伺服器的硬碟中,是以下一次客戶再通路相同的站點資料時,會直接從代理伺服器的硬碟中讀取,起到了緩存的作用,尤其對于熱門站點能明顯提高請求速度。
2)防火牆作用
由于所有的客戶機請求都必須通過代理伺服器通路遠端站點,是以可在代理伺服器上設限,過濾某些不安全資訊。
3)通過代理伺服器通路不能通路的目标站點
網際網路上有許多開發的代理伺服器,客戶機在通路受限時,可通過不受限的代理伺服器通路目标站點,通俗說,我們使用的翻牆浏覽器就是利用了代理伺服器,雖然不能出國,但也可直接通路外網。
二、反向代理 VS 正向代理
1、什麼是正向代理?什麼是反向代理?
正向代理,架設在客戶機與目标主機之間,隻用于代理内部網絡對Internet的連接配接請求,客戶機必須指定代理伺服器,并将本來要直接發送到Web伺服器上的http請求發送到代理伺服器中。
反向代理伺服器架設在伺服器端,通過緩沖經常被請求的頁面來緩解伺服器的工作量,将客戶機請求轉發給内部網絡上的目标伺服器;并将從伺服器上得到的結果傳回給Internet上請求連接配接的用戶端,此時代理伺服器與目标主機一起對外表現為一個伺服器。
2、反向代理有哪些主要應用?
現在許多大型web網站都用到反向代理。除了可以防止外網對内網伺服器的惡性攻擊、緩存以減少伺服器的壓力和通路安全控制之外,還可以進行負載均衡,将使用者請求配置設定給多個伺服器。