nginx是乙個http伺服器,可以將伺服器上的靜態檔案(如html、)通過http協議展現給客戶端。
nginx也是反向**伺服器。
說反向**之前先說一下正向**,正向**相信很多大陸同胞都在這片神奇的土地上用過了。就是訪問國外網被牆了,然後找個**服務,通過該伺服器訪問國外**,這個是正向**。
反向**是 客戶端訪問**伺服器,但是**伺服器沒有使用者需要的資源,然後**伺服器偷偷訪問應用伺服器,獲取資源返回給使用者,使用者不知道**伺服器是訪問了應用伺服器,**伺服器也隱藏了應用伺服器的url。(反向**的典型用途是將 防火牆後面的伺服器提供給internet使用者訪問)
nginx可以通過反向**來實現負載均衡。
2.1.1.新增nginx到yum源
新增centos 7 nginx yum資源庫,開啟終端,使用以下命令:
sudo rpm -uvh
2.2.2.安裝nginx
在你的centos 7 伺服器中使用yum命令從nginx源伺服器中獲取來安裝nginx:
sudo yum install -y nginx
nginx將完成安裝在你的centos 7 伺服器中。
2.2.3. nginx啟動
nginx -c nginx.conf
啟動後就可以訪問 網域名稱或者本機ip 如果出現下圖,說明啟動成功。
2.2.4. nginx 停止
//查詢出nginx的pid
ps -ef|grep nginx
//通過kill 命令殺死 nginx
kill pid
注意圖中nginx的 pid 為 10497
2.2.5. nginx配置資訊
**檔案存放預設目錄
/usr/share/nginx/html
**預設站點配置
/etc/nginx/conf.d/default.conf
自定義nginx站點配置檔案存放目錄
/etc/nginx/conf.d/
nginx全域性配置
/etc/nginx/nginx.conf
docker pull nginx:1.9
2.2.2 啟動容器,
docker run -d -p 8080:80 nginx:1.9
把容器內的nginx的80埠,對映到當前伺服器的8080埠,假設當前伺服器的ip是192.168.0.100,瀏覽器輸入就可以看到nginx已啟動,
關於靜態資源伺服器的使用這裡就不做說明了。
如果是本地安裝的nginx 的話需要修改 /etc/nginx/conf.d/default.conf 配置檔案
注釋原有的 location 然後替換為新的location
//注釋原有的
# location /
//新新增的
location /
然後重啟nginx ,訪問本機ip 就會**到「 我的部落格位址。
如果是docker 安裝的話,需要本地隨意目錄下新建default.conf 檔案,內容如下:
server
error_page 500 502 503 504 /50x.html;
location = /50x.html
}
然後重新啟動容器,將default.conf 檔案對映到docker容器內。
啟動命令如下:
docker run -p 8080:80 --name mynginx -v /本地路徑/default.conf:/etc/nginx/conf.d/default.conf -d nginx:1.9
容器啟動後 ,訪問本機ip 就會**到「 我的部落格位址。
上面的配置只實現了反向**沒有實現傳說中的負載均衡。所有的請求就都被反向**到 我的部落格位址去了。這樣我們反向**的功能是實現了,可是就能**到一台伺服器上哪有什麼負載均衡呀?這就要用到 nginx 的 upstream 模組了。
upstream backend
location /
我們在 upstream 中指定了一組機器,並將這個組命名為 backend,這樣在 proxypass 中只要將請求轉移到 backend 這個 upstream 中我們就實現了在四台機器的反向**加負載均衡。其中的 iphash指明了我們均衡的方式是按照使用者的 ip 位址進行分配。
要讓配置生效,我們不必重啟 nginx 只需要 reload 配置即可。
假設這樣乙個應用場景:將應用部署在 192.168.1.11:80、192.168.1.12:80、192.168.1.13:80 三颱 linux 環境的伺服器上。**網域名稱叫 www.helloworld.com,公網 ip 為 192.168.1.11。在公網 ip 所在的伺服器上部署 nginx,對所有請求做負載均衡處理。
nginx.conf 配置如下:
#http伺服器
server }}
4.1 正則
#路徑重寫配置demo
location /demo/test/
參考資料: nginx安裝配置
主服務端 192.168.233.128 客戶端 192.168.233.131 192.168.233.132 192.168.233.134 主服務端和客戶端配置相同部分 yum y install zlib zlib devel yum y install pcre pcre devel yu...
nginx安裝配置
主要有三項 1 基本配置 2 path info支援 3 虛擬伺服器配置 1 埠 listen 90 預設為80,為避免衝突,可做修改。2 主機位址 root html 預設為安裝目錄下html目錄,可修改為如 d nginx。3 php支援 pass the php scripts to fast...
nginx安裝配置
之前安裝nginx一直是用原始碼的形式安裝,經常會在編譯後make的時候出現失敗。乙個乙個問題來解決比較麻煩。想了個解決的辦法 通過新增yum源,通過yum來安裝。1.安裝nginx依賴包 sudo yum install y zlib pcre openssl 2.配置nginx的yum源 sud...