Nginx基礎配置之配置一個靜態WEB服務
一 配置檔案的語法格式:
先來看一個簡單的nginx 配置
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } location /nginx_status { stub_status on; access_log off; } } }
上述配置中的events、http、server、location、upstream等屬於配置項塊。而worker_processes 、worker_connections、include、listen 屬於配置項塊中的屬性。 /nginx_status 屬於配置塊的特定引數引數。其中server塊巢狀於http塊,其可以直接繼承訪問Http塊當中的引數。
配置塊 名稱開頭用大括號包裹其對應屬性
屬性 基於空格切分屬性名與屬性值,屬性值可能有多個項 都以空格進行切分
引數 其配置在 塊名稱與大括號間,其值如果有多個也是通過空格進行拆
二 配置第一個靜態WEB服務
1.建立站點目錄
mkdir -p /usr/www/snowman
2.編寫靜態檔案
echo 'the first static site' > first.html
3.配置 nginx.conf
配置server和location
在nginx.conf中原本就存在server,可以重新配置一個同級別的server,多個同埠的server保證server_name不相同就行了,這裡就直接演示原本配置的server就好了
在這裡情境下
- “location /”匹配輸入改虛擬機器ip的請求;
- “root /usr/www/snowman”表示到/usr/www/snowman路徑下去找檔案;
- “index first.html”表示如果請求沒有制定檔案就用改預設檔案。
(注:如果local /後面還加路徑,會被加到root後面,例:local /aaa,那麼在找的時候就找/usr/www/snowman/aaa)
儲存退出,./sbin/nginx -s reload過載
輸入虛擬機器IP進行訪問就能訪問到剛剛建立的那個html
三 基本配置介紹說明
1.監聽埠
語法:listen address:
預設:listen 80;
配置塊:server
2.主機名稱
語法:server_name name[……];
預設:server_name “”;
配置塊:server
server_name後可以跟多個主機名稱,如server_name www.aaa.com、bbb.aaa.com;。 支援萬用字元與正則
(3)location
語法:location[=|~|~*|^~|@]/uri/{……}
配置塊:server
- / 基於uri目錄匹配
- =表示把URI作為字串,以便與引數中的uri做完全匹配。
- ~表示正則匹配URI時是字母大小寫敏感的。
- ~*表示正則匹配URI時忽略字母大小寫問題。
- ~表示正則匹配URI時只需要其前半部分與uri引數匹配即可。