Nginx概念及安裝(一)

Nginx雖然小,可是對開發來講開發起來並不簡單,是經過epoll模型實現的異步Webhtml

Nginx特色:方便,簡單靈活,佔用系統資源少,對靜態小文件處理好的Web服務軟件linux

  • Nginx特性: 
  • 1.支持高併發(能支持幾萬臺併發鏈接,特別是靜態小文件業務環境) 
    2.資源消耗少(在3萬臺併發鏈接下,開啓10個Nginx線程消耗的內存不到200MB)

Nginx概念

1.Nginx是一個開源的,支持高併發的www服務和代理服務nginx

2.nginx具備高併發,特別是對靜態網頁,佔用系統資源少等特性web

3.nginx不可是一個優秀的web服務軟件,還具備反向代理負載均衡和緩存的服務功能。nginx部署及其方便。apache

在與apache對比中,爲何Nginx的整體性能高?

nginx用戶是epoll模型(異步IO非阻塞模型),apache用的是select模型(同步IO阻塞模型)windows

4.png-315kB

 

編譯安裝

1.先安裝支持包 
yum -y install pcre-devel openssl-devel 
2.解壓編譯包到/usr/src 
tar xf 安裝包 -C /usr/src 
3.建立程序用戶 
useradd -s /sbin/nologin -M www 
4.進行編譯安裝 
cd /usr/src/nginx 
./configure --user=用戶名 --group=組 --prefix=指定目錄(如:/usr/local/nginx) --with-http_stub_status_module --with-http_ssl_module && make && make install
修改環境變量(作軟鏈接) 
ln -s /usr/local/nginx/sbin/* /usr/local/bin/ 
5.5.png-232.7kB
6.從備份的配置文件中去了#號和空行重定向到配置文件中 
6.png-73.2kB
精簡Nginx配置文件(去了報錯的行) 
7.png-213.9kB
8.png-197.1kB
9.png-360kB
瀏覽器

首頁文件表示若是用戶只輸入域名,不輸入URi,就默認去找index.html和index.htm這兩個網頁(若是這兩個網頁也沒有,那就表示找不到了)緩存

Nginx

  • 用絕對路徑能夠啓動服務腳本 
    5.png-58.7kB
  • 2.在用nginx時系統防火牆要關閉
  • 3 curl這個命令是模擬訪問的
  • 4用戶在訪問網站時不能看到根上邊的網頁文件
  • windows也是在訪問linux中的網頁時須要修改映射文件,windows映射文件(C盤/windows/system32/drives/etc/hosts)
 

搭建網頁過程

一個web服務器搭建多個網站有三種方法: 
1.基於不一樣域名的虛擬網站(工做中經常使用) 
2.基於不一樣監聽端口的虛擬網站(能夠實現用IP去訪問多個域名) 
3.基於不一樣IP的虛擬網站
安全

1.先到配置文件中修改 
2.從新啓動服務 
/usr/local/nginx/sbin/nginx -s reload 平滑重啓,不影響正在鏈接的用戶 
3.根據配置文件中的模塊去建立網頁文件,而且添加網頁內容 
4.增長映射文件內容 
6.png-138.6kB
5.用curl去檢測 
curl www.yunjisuan.com
服務器

問題

 

 

    • 若是一個IP去搭建多個網站,那麼用域名去訪問就能訪問獲得他想要的網頁文件,而用IP去訪問獲得的是配置文件中的第一個的模塊網頁文件(優先級是從上往下)
    • 若是一個IP多個域名,客戶機用域名去訪問,服務機就能拿到它想要的,那麼服務端是怎麼知道客戶端的想要去訪問的哪一個域名呢?

       

      web服務器能夠在用戶發送過來的報文中的頭部能夠查看用戶想看的具體域名 
      curl -v yunjisuan.com 查看報文內容 
      7.png-400.7kB

    • 在同一個IP多個域名的狀況下,用IP去訪問網站默認給的是第一個虛擬網站,可是有時候是不能讓他去訪問的爲何??

      由於DNS映射的過程有一個追蹤的過程,若是正常輸入域名解析IP,DNS提供服務的公司先要追查你的位置,若是是合法的用戶,才能解析成功而且正常訪問。而黑客絕對不會走正常解析過程,確定是用IP地址(經過IP地址訪問不經過DNS解析)過去的。所以要想個辦法讓非法用戶不能默認訪問第一個網站,因此要把網站作成防黑的 
      8.png-157.3kB

    • 爲何服務端知道用戶端用的哪一個瀏覽器在上網? 由於用戶發送的訪問報文中的頭部裏有

相關問題及解答

 

1.tengine和nginx是什麼關係

Tengine是淘寶開源Nginx的分支,官方站點爲http://tengine.taobao.org/

 

2.特殊的403報錯是什麼狀況?

如:配置文件中默認的www.yunjisuan.com首頁是html下的index.html,然而這個index.html網頁文件卻不存在,當用戶在網頁上輸入域名進行訪問時,就會出現403報錯。
緣由:當用戶輸入www.yunjisuan.com訪問時,瀏覽器會自動把換成http://www.yunjisuan.com/,而它又找不到首頁網頁文件,因此就默認給用戶看/下的全部文件,這樣的話會被nginx的安全機制拒絕,因此就會出現403報錯

nginx默認的安全機制是開啓的,而apache默認的安全機制是關閉的

 

3.可能形成403錯誤的緣由:

(1)特殊的403報錯 
(2)訪問的網頁文件權限不夠(例如:設置的程序用戶爲www,而網頁文件權限爲700,屬主、屬組都爲root,這樣的話www用戶是沒有辦法進行訪問的,因此就會致使403錯誤) (3)訪問的網頁文件所在的目錄沒有x權限(如:程序用戶爲www,網頁文件所在的目錄爲www目錄,而www目錄權限爲744,屬主、屬組都爲root,這樣用戶對目錄沒有可執行權限,就進不去目錄。因此就致使403錯誤

相關文章
相關標籤/搜索