1. 程式人生 > >Nginx基礎配置之配置一個靜態WEB服務

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.combbb.aaa.com;。 支援萬用字元與正則

(3)location
語法:location[=|~|~*|^~|@]/uri/{……}

配置塊:server

  • / 基於uri目錄匹配
  • =表示把URI作為字串,以便與引數中的uri做完全匹配。
  • ~表示正則匹配URI時是字母大小寫敏感的。
  • ~*表示正則匹配URI時忽略字母大小寫問題。
  • ~表示正則匹配URI時只需要其前半部分與uri引數匹配即可。