利用Nginx服務在一臺虛擬主機上搭建多個網站
- 在"/etc/nginx/conf.d/"目錄下創建多個主機組態檔(一個server,就代表一個網站)



- 創建站點目錄和站點目錄中的首頁檔案;這里我使用的是默認站點目錄"/usr/share/nginx/html"和默認的首頁檔案"index.html",大家也可以隨意修改,

- 在Windows主機中撰寫"Windows/System32/drivers/etc/hosts"決議檔案

- 利用Windows中的瀏覽器進行訪問測驗


網站的訪問方式
- 基于域名的方式進行訪問,上面已經說過,不在贅述了,
- 基于地址的方式進行訪問,(只能使用指定的地址來訪問)

- 基于埠的方式進行訪問,


網站頁面的訪問原理

TIPS:當通過瀏覽器直接訪問"10.0.0.7"時,若沒有設定監聽,那么默認打開的就是排序在最上面的網站首頁,因為瀏覽器找到"10.0.0.7"這臺服務器后,訪問80埠,這時Nginx主組態檔"/etc/nginx/nginx.comf"就會加載"/etc/nginx/conf.d"所有的擴展組態檔,又因為沒有具體的域名匹配,所以就會按照加載的順序的第一個網站的首頁檔案回傳給客戶端,
網站的安全訪問配置
- 根據用戶訪問的地址進行控制,需要用到nginxf訪問模塊:“ngx_http_access_module”;下圖是我從Nginx官網截取的"ngx_http_access_module"模塊的一些配置說明:

實際操作:


在shell命令列訪問"blog.cxsnb.com/blog":

TIPS:location外面的資訊,是全域配置的資訊;location里面的資訊,是區域資訊,
- 根據用戶訪問進行認證;需要用到的模塊為"ngx_http_auth_basic_module";下圖是我從Nginx官網截取的一些"ngx_http_auth_basic_module"認證模塊的配置說明:

實際操作:
第一步:撰寫網站的擴展組態檔

第二部:創建密碼檔案(密碼檔案中的資訊必須是密文的)


第三步:測驗

通過curl命令的方式在命令列測驗:
在shell命令列通過curl命令,基于域名的訪問方式的話,需要在Linux系統中"/etc/hosts"檔案配置一下DNS決議,

使用curl 命令訪問;"-u"引數是指定認證用戶的名稱

TIPS:密碼檔案"/etc/nginx/password/htpasswd"的初始權限是644,這樣很不安全,可以把密碼檔案的權限改為600,這樣其它用戶就不能夠獲取到密碼,但是只是簡單的修改密碼檔案的權限,這樣再使用瀏覽器訪問網站時就會報"500"的錯誤,下面通過一張圖講解一下原理,


轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/199027.html
標籤:其他
