初學nginx

###1 .什麼是Nginxhtml

nginx是一款高性能的http服務器/反向代理服務器以及電子郵件(IMPA/POP3)代理服務器。官方測試nginx可以支撐5萬併發連接,而且cpu、內存等資源消耗很是低,運行很是穩定。linux


2.nginx工做原理

①多進程的工做模式 nginx啓動後,會有一個nginx主進程和多個相互獨立的worker進程。 ②Nginx處理高併發: 在linux下面,epoll是高效的方法。nginx

  • 支持一個進程打開大數目的socket。
  • IO效率不隨socket數目增長而線性降低。
  • 使用mmap加速內核與用戶空間的消息傳遞
  • 內核微調

3.Nginx安裝

關於Nginx的安裝,這裏不作筆記,google安裝便可。vim


4.Nginx安裝結束後的經常使用命令:

  • nginx ---啓動服務
  • nginx -s stop ---中止服務(快速中止)
  • nginx -s reload ----從新服務(修改的配置文件生效)
  • nginx -t ---查看nginx。。。
  • ps -ef |grep nginx ---查看nginx進程
  • ps aux | grep nginx --也是查看nginx進程(區別暫時未看!)
  • …… vim nginx.conf時:
  • 顯示行號::set number

5.配置虛擬主機

5.1什麼是虛擬主機

虛擬主機就是把一臺物理服務器劃分紅多個「虛擬」的服務器,每個虛擬主機均可以有獨立的域名和獨立的目錄。服務器

nginx虛擬主機的配置

nginx的虛擬主機就是經過nginx.conf中server節點指定的,想要設置多個虛擬主機,配置多個server節點便可。併發

5.2基於域名的虛擬主機配置
5.2.1需求

兩個域名指向同一個服務器,用戶訪問不一樣的域名顯示不一樣的網頁內容。 兩個域名是a.test.com和b.test.com 一臺服務器還使用虛擬機192.168.1.23代替。app

5.2nginx.conf文件的配置解釋

worker_processes --工做進程:數目,根據硬件調整,一般等於CPU數量或者2倍於CPU worker_connections --每一個工做進程的最大連接數量,根據硬件調整 http是表明關於http協議的配置: include --mime.types; default_type application/octet-stream; default_type application/octet-stream;listen--端口server_name` --localhost、域名socket

5.3建立工程目錄
  1. 在www文件下,建立a目錄,建立a.html; 在www文件下,建立b目錄,建立b.html;
  2. 在nginx.conf中複製添加一個server,這兩個分別修改server_name:a.test.com,b.test.com
  3. 在本地C:\Windows\System32\drivers\etc中的hosts中添加 [ip] a.test.com [ip] b.test.com
  4. nginx -s reload 後分別訪問a.text.com/a.html、b.text.com/b.html
  5. 這樣即可以經過不一樣域名進行訪問了。
5.4 nginx的location配置詳解

語法規則:location = [=|~|~*|^~]/uri/{...} = : 開頭表示精確匹配。 ^~ : 開頭表示uri以某個常規字符串開頭,理解爲匹配url路徑便可。 ~ : 開頭表示區分大小寫的正則匹配。 ~* : 開頭表示不區分大小寫的正則匹配。 / : 通用匹配,任何請求都會匹配到。高併發

精準匹配:http://40.147.85.127/index.html ,到html1目錄下訪問index.html
location = /index.html{
    root html1;
}
複製代碼
url路徑匹配,匹配經過/static訪問的路徑 :http://40.147.85.127/static/index.html,因爲/static符合當前locaion,因此當location被匹配,訪問的是html2/static/index.html.
location = ^~/static/{
    root html2;
}
複製代碼
相關文章
相關標籤/搜索