一、nginx常用配置介紹:
server塊:是什麼意思呢?每一個server其實它跟一個虛擬主機有關,虛擬主機就是說從用戶的角度來說,一個虛擬主機就是一臺獨立的機器。有獨立的硬件、網絡等等。那麼每個http塊裏面有多個server塊,意味着一個http塊裏面有多個獨立的虛擬主機。
比如這段配置解釋:
server{
listern 80;
server_name www.cpf.com
location /{
proxy_pass https://127.0.0.1:8080
}
}
listen 80: 當前虛擬機所監聽的端口。
server_name:監聽的網站,當用戶訪問www.cpf.com:80這個網站的時候會被監聽到。當你訪問別的網址的時候可能就在別的server塊處理,server塊可配置多個。
location塊:主要作用是對server監聽到的url,根據url的地址對這個location進行匹配。比如上面的例子,當你訪問www.cpf.com:80時,根據location匹配到,指向代理服務器爲https://127.0.0.1:8080的這臺機器。監聽到www.cpf.com:80時,就將這個請求轉發到
https://127.0.0.1:8080。location塊可以配置多個。
二、反向代理配置,單臺機器
1.需求和目的:在瀏覽器中訪問http://localhost:9443/ ,nginx接收這個請求,並且將這個請求轉發到tomcat服務器上,tomcat響應頁面上提示tomcat hello!
2.準備工作,在windows電腦上安裝一個tomcat:
2.1 在tomcat的安裝目錄:D:\Tomcat 8.5\webapps\ROOT下新建一個index.html, 內容爲:tomcat hello!
3.nginx轉發配置:
http {
include mime.types;
default_type application/octet-stream;
server {
listen 9443;
server_name localhost;
location / {
proxy_pass http://localhost:8080/;
}
}
}
解釋:nginx監聽localhost服務名,且端口是9443. 對應訪問的鏈接url,將它轉發到代理服務器:http://localhost:8080/
測試:瀏覽器訪問http://localhost:9443/ ,成功。
ps:如果要測試server_name爲域名的話,比如server_name www.cpf.com, 這需要改windows配置文件:C:\Windows\System32\drivers\etc\hosts 加上配置:配好就行了電腦不需要重啓等操作,等一會再訪問就行了。
三、
---