nginx
nginx (engine x) 是乙個高效能的http和反向**web伺服器,同時也提供了imap/pop3/smtp服務。nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的rambler.ru站點(俄文:рамблер)開發的,第乙個公開版本0.1.0發布於2023年10月4日。
其將源**以類bsd許可證的形式發布,因它的穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而聞名。2023年6月1日,nginx 1.0.4發布。
解決的問題
能夠解決跨域的的問題
能夠反向**
能夠處理併發問題,實現負載均恆
nginx的整體結構
各個模組的作用
該部分配置主要影響nginx全域性,通常包括下面幾個部分:
配置執行nginx伺服器使用者(組)
worker process數
nginx程序pid存放路徑
錯誤日誌的存放路徑
配置檔案的引入
該部分配置主要影響nginx伺服器與使用者的網路連線,主要包括:
設定網路連線的序列化
是否允許同時接收多個網路連線
事件驅動模型的選擇
最大連線數的配置
定義mimi-type
自定義服務日誌
允許sendfile方式傳輸檔案
連線超時時間
單連線請求數上限
配置網路監聽
基於名稱的虛擬主機配置
基於ip的虛擬主機配置
location配置
請求根目錄配置
更改location的uri
**預設首頁配置
基本操作步驟(windos)
解壓然後進入nginx解壓後的目錄用cmd回車
配置nginx檔案
進入conf目錄有乙個nginx.conf
修改配置檔案
server
這個配置用於配置需要反向**的服務位址上面匹配成功就會反向**這個位址)
error_page 500 502 503 504 /50x.html; //錯誤頁面路徑
location = /50x.html
location ~\.(css|js|png)$
}
server_name是什麼?去這個部落格看吧nginx的server_name
客戶端通過網域名稱訪問伺服器時會將網域名稱與被解析的ip一同放在請求中。當請求到了nginx中時。nginx會先去匹配ip,如果listen中沒有找到對應的ip,就會通過網域名稱進行匹配,匹配成功以後,再匹配埠。當這三步完成,就會找到對應的server的location對應的資源。
啟動nginx
在之前說的cmd中寫命令 start nginx 或則直接雙擊nginx.exe 閃一下就代表啟動了
nginx -s reload重啟nginx
nginx -s stop 關閉nginx
訪問配置的nginx
如:剛剛配置的ip:埠訪問會出現nginx首頁,當然你配置了proxy_pass就會反向**,如果你配置錯誤或則啟動**服務錯誤就會顯示錯誤頁面。
配置多台服務實現負載均衡
upstream iot1
upstream是節點 ,然後自定義名字如iot1 格式如上,下面需要中間的位址和埠就是你要反向**的服務位址,weight為權重,越大就是負載越高。預設為1
這裡有三種負載演算法
輪詢: 每個請求按時間順序逐一分配到不同的應用伺服器,如果應用伺服器down掉,自動剔除,剩下的繼續輪詢
權重:通過配置權重,指定輪詢機率,權重和訪問比率成正比,用於應用伺服器效能不均的情況
ip_hash: 每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個應用伺服器,可以解決session共享的問題。
在服務後可以加如下標識
1)down
表示單前的server暫時不參與負載
2)weight
預設為1.weight越大,負載的權重就越大。
3)max_fails
允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤
4)fail_timeout
max_fails 次失敗後,暫停的時間。
5)backup
其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。
location /
將之前寫的位址換成upstream節點命名的就行,相當於將之前的幾個服務位址通過這個節點對映。這裡相當於配置了之前的一堆服務。
重啟nginx (nginx -s reload)
注意靜態資源的路徑和/
自定義upstream節點名字時注意下劃線問題,如果不成功嘗試去掉下劃線
weight設定時注意寫成weight=1不要有空格。
5. 基本操作(linux版)
yum update
yun list | grep nginx
yum install nginx (按y繼續)
whereis nginx (檢視安裝位置)
下面是獲取nginx安裝位置的主要目錄
路徑作用
/usr/sbin/nginx
nginx啟動路徑
/etc/nginx
存放nginx的配置檔案
/usr/share/nginx
預設的nginx資源庫
接下來我們vi進入 vi /etc/nginx/nginx.conf,這個就是我們的配置檔案具體配置什麼上面windos版都說了。
在檔案中最下面有乙個路徑 include 路徑 這個是預設server的路徑 ,如果出現
address family not supported by protocol
就看看預設配置裡配置的是不是正確
如果不正確,配成這樣就行了
通過檢視程序,停掉nginx程序再使用命令server
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#error_page 500 502 503 504 /50x.html;
location = /50x.html
}
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: address already in use)
nginx: [emerg] still could not bind()
ps -ef | grep nginx
kill -9 pid 查出來的程序id
最後,訪問nginx頁面,出現如下頁面就是啟動了,接下來就是配置檔案實現反向**了。配置完記得重啟nginx。
vm與windos共享檔案
概述 1 安裝vmware tool 2 設定共享 步驟 開始安裝vmware tool 顯示如下畫面 如果宿主無法訪問外網,可能會出現乙個更新失敗,可以無視之 參考1 解決了hgfs中看不到共享的問題 2 如何設定共享,訪問共享 3 如何安裝vmtools 最近在個人電腦裡的虛擬機器裡裝了ubun...
SpringBoot的Full模式與Lite模式
configuration這個註解相信大家都不陌生,配置類註解。在springboot2中,configuration中可以如下使用 configuration proxybeanmethods false 告訴springboot這是乙個配置類 配置檔案 public class myconfig...
linux與windos編碼格式轉換
linux 提供了兩種文字格式相互轉化的命令 dos2unix 和 unix2dos dos2unix 把 r n 轉化成 n unixtodos 把 n 轉化成 r n 命令dos2unix 和unix2dos 的使用非常簡單,格式為 單檔案轉換 批量檔案轉換 進入需要轉換的資料夾執行 1find...