nginx的windos與linux使用

2021-10-11 07:54:54 字數 3800 閱讀 3463

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
就看看預設配置裡配置的是不是正確

如果不正確,配成這樣就行了

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()

通過檢視程序,停掉nginx程序再使用命令

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...