1、靜態HTTP服務器
首先,Nginx是一個HTTP服務器,可以將服務器上的靜態文件(如HTML、圖片)通過HTTP協議展現給客戶端。
配置:
-
server {
-
listen80; # 端口號
-
location / {
-
root /usr/share/nginx/html; # 靜態文件路徑
-
}
-
}
通過上面的配置,你可以通過域名加80端口訪問到服務器上的文件資源。
2、反向代理服務器
什麼是反向代理?
客戶端本來可以直接通過HTTP協議訪問某網站應用服務器,網站管理員可以在中間加上一個Nginx,客戶端請求Nginx,Nginx請求應用服務器,然後將結果返回給客戶端,此時Nginx就是反向代理服務器。nginx是配置在服務器上的。
配置:
-
server {
-
listen80;
-
location / {
-
proxy_pass http://192.168.20.1:8080; # 應用服務器HTTP地址
-
}
-
}
既然服務器可以直接HTTP訪問,爲什麼要在中間加上一個反向代理,因爲通過反向代理,客戶端的請求可以被服務器A或服務器B或其他服務器接收,由nginx服務器決定由哪個服務器處理。這樣可以處理更多併發請求,這就是所謂負載均衡。
總結:反向代理服務器Nginx是在服務器上的,客戶端只知道自己訪問的是服務器,不關心具體哪個服務器。(反向代理是在服務器端)
3、正向代理服務器
什麼是正向代理?你可以猜一下,反向是在服務器,那正向代理是負責哪裏的呢?
對,正向代理就是處理客戶端的請求的,他讓服務器不知道請求的源客戶端是哪個。典型的代表就是VPN(VPN是虛擬線路聯網,可以訪問國內國外網絡資源),通過VPN這正向代理服務器,我們就能訪問到國外網站而不被牆。
因爲長城防火牆以及服務器端根本不知道源客戶端來自哪裏。他們把正向代理服務器當成客戶端了。
總結:正向代理服務器用來代理客戶端,服務器端不能判斷真正源客戶端(正向代理是偏向客戶端)
補充:nginx默認路徑可能爲/usr/local/nginx/conf/或etc/nginx/conf.d/default.conf