Nginx基礎(chǔ)二(配置語法兽叮,Nginx變量)

一芬骄、http請求

先補充一點 http 知識


http請求.png
  • yum install -y curl
    curl 可以理解成是一個瀏覽器猾愿,只是不能看到頁面,看到的是http請求的信息账阻。
  • curl http://www.baidu.com
    使用curl請求baidu地址匪蟀,可以看到返回的html代碼(即服務(wù)端返回的響應(yīng)正文)
  • curl -v http://www.baidu.com >/dev/null
    (">/dev/null" 表示將返回的內(nèi)容重定向到linux空設(shè)備上)
    執(zhí)行上述命令,可以看到詳細信息宰僧,> 標注的是request信息,包括請求行材彪,請求頭部,請求數(shù)據(jù)琴儿,< 標注的是response信息段化,包括狀態(tài)行,信息報頭造成,響應(yīng)正文显熏。

二、Nginx主配置etc/nginx/nginx.conf詳解

執(zhí)行vi etc/nginx/nginx.conf可以看到以下配置內(nèi)容

user nginx ;     
worker_processes 4;             
error_log   /var/log/error.log  warn;    
pid        /var/run/nginx.pid;     

events {
  worker_connections 1024;
}

http {
  include   /etc/nginx/mime.types
  default_type  application/octet-stream;

  log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
                   '$status $body_bytes_sent  "$http_referer" '
                   '"$http_user_agent"  "$http_x_forwarded_for" '

  access_log  /var/log/nginx/access.log main;
  sendfile      on;
   #tcp_nopush   on;

  keepalive_timeout 65;
  #gzip on;
  include /etc/nginx/conf.d/*.conf;
}

(1) user nginx 設(shè)置nginx 服務(wù)的系統(tǒng)使用用戶, 默認即是nginx晒屎,可不設(shè)置
(2) worker_processes 4; 工作進程數(shù), 一般設(shè)置為和cpu核數(shù)一樣
(3) error_log /var/logs/error.log warn; 錯誤日志存放目錄(主要用于Nginx處理http請求錯誤的狀態(tài)喘蟆,以及Nginx本身服務(wù)運行錯誤的狀態(tài) ), warn表示錯誤日志的級別
(4)pid /var/run/nginx.pid; 進程pid存放位置
(5) events 下的worker_connections : 每個進程允許的最大連接數(shù)量(最大設(shè)至65535),use: 工作進程數(shù)

http下的一些配置及其意義

(1) include /etc/nginx/mime.types; 文件擴展名與文件類型映射表
(2) default_type application/octet-stream; 默認文件類型
(3) log_format用來設(shè)置日志格式,只能配置在http模塊下鼓鲁。其中$remote_addr蕴轨、$remote_addr$開頭的都是Nginx中的變量,通過一些符號連接在一起骇吭,組成nginx的access_log日志格式橙弱。

  • $remote_addr 客戶端地址
  • $remote_user 客戶端請求Nginx認證的用戶名,如果默認沒有開啟認證模塊燥狰,將不會記錄
  • $time_local Nginx時間
  • $request request頭請求行
  • $status response返回的狀態(tài)碼
  • $body_bytes_sent 服務(wù)端響應(yīng)給客戶端的body信息的大小
  • $http_referer HTTP Referer是header的一部分棘脐,當(dāng)瀏覽器向web服務(wù)器發(fā)送請求的時候,一般會帶上Referer龙致,告訴服務(wù)器我是從哪個頁面鏈接過來的蛀缝,服務(wù)器基此可以獲得一些信息用于處理
  • $http_user_agent http頭信息的一部分,
  • $http_x_forwarded_for 簡稱XFF頭目代,它代表客戶端屈梁,也就是HTTP的請求端真實的IP,只有在通過了HTTP 代理或者負載均衡服務(wù)器時才會添加該項像啼。它不是RFC中定義的標準請求頭信息

(4) access_log指定日志文件的存放路徑俘闯、格式和緩存大小,主要依賴于log_format的配置,記錄到每次http請求的訪問狀態(tài),后面的main與log_format main中的main是對應(yīng)的忽冻,表示將日志按log_format main中的main的格式要求記錄到access_log里
(5) sendfile on; 開啟高效文件傳輸模式真朗,sendfile指令指定nginx是否調(diào)用sendfile函數(shù)來 輸出文件,對于普通應(yīng)用設(shè)為 on僧诚,如果用來進行下載等應(yīng)用磁盤IO重負載應(yīng)用遮婶,可設(shè)置 為off蝗碎,以平衡磁盤與網(wǎng)絡(luò)I/O處理速度,降低系統(tǒng)的負載旗扑。注意:如果圖片顯示不正常 把這個改成off蹦骑。
(6)tcp_nopush on; 防止網(wǎng)絡(luò)阻塞
(7) autoindex on; 開啟目錄列表訪問,合適下載服務(wù)器臀防,默認關(guān)閉眠菇。
(8)keepalive_timeout 65; 長連接超時時間,單位是秒
(9)gzip on; 開啟gzip壓縮輸出
(10) include /etc/nginx/conf.d/*.conf; nginx讀完etc/nginx/nginx.conf后袱衷,同時會讀etc/nginx/conf.d/下所有的.conf文件(默認/etc/nginx/conf.d目錄下只有一個default.conf文件)

三捎废、配置文件 etc/nginx/conf.d/default.conf 詳解

server{
  listen 80;
  server_name localhost;

  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
  }

  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /usr/share/nginx/html;
  }
}

(1) listen 該server 監(jiān)聽的端口
(2) server_name 服務(wù)名稱(域名)
(3) location 一個server 可以有多個location,。
root當(dāng)某一個server里面沒有其他的路徑可以訪問時 致燥,會默認訪問該配置目錄下的文件登疗。
index定義首頁默認訪問的是哪個文件, 如果index.html沒有找到就會去找index.htm。
ls /usr/share/nginx/html可以看到里面有兩個50x.html 和index.html兩個文件嫌蚤,如下圖所示:

50x.html & index.html.png

可以嘗試修改index.html, 保存后用瀏覽器訪問server 的 ip ( 執(zhí)行ip a可以看到server的ip)辐益, 即可看到修改后的結(jié)果。
(4) error_page 定義當(dāng)返回狀態(tài)碼是500脱吱,502智政,503,504時急凰,返回錯誤頁面50x.html,女仰。50x.html 頁面的位置在root /usr/share/nginx/html 中猜年。
可以做如下嘗試:
先訪問一個不存在的路徑抡锈,發(fā)現(xiàn)返回了404頁面。
然后在error_page中加入狀態(tài)碼404乔外,再重啟服務(wù)(systemctl restart nginx.servicesystemctl reload nginx.service)床三,重新訪問這個不存在的路徑,發(fā)現(xiàn)返回了50x.html頁面杨幼。

四 撇簿、Nginx變量

(1) HTTP請求變量

  • arg_PARAMETERarg_+ http請求參數(shù)名作為一個變量
  • http_HEADER request請求的HEAD
  • sent_http_HEADER 服務(wù)端返回給客戶端的response的HEAD

(2)內(nèi)置變量
官網(wǎng)查看內(nèi)置變量
(3)自定義變量

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市差购,隨后出現(xiàn)的幾起案子四瘫,更是在濱河造成了極大的恐慌,老刑警劉巖欲逃,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件找蜜,死亡現(xiàn)場離奇詭異,居然都是意外死亡稳析,警方通過查閱死者的電腦和手機洗做,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門弓叛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诚纸,你說我怎么就攤上這事撰筷。” “怎么了畦徘?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵毕籽,是天一觀的道長。 經(jīng)常有香客問我井辆,道長影钉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任掘剪,我火速辦了婚禮平委,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘夺谁。我一直安慰自己廉赔,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布匾鸥。 她就那樣靜靜地躺著蜡塌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪勿负。 梳的紋絲不亂的頭發(fā)上馏艾,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音奴愉,去河邊找鬼琅摩。 笑死,一個胖子當(dāng)著我的面吹牛锭硼,可吹牛的內(nèi)容都是我干的房资。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼檀头,長吁一口氣:“原來是場噩夢啊……” “哼轰异!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起暑始,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤搭独,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后廊镜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牙肝,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惊奇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片互躬。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖颂郎,靈堂內(nèi)的尸體忽然破棺而出吼渡,到底是詐尸還是另有隱情,我是刑警寧澤乓序,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布寺酪,位于F島的核電站,受9級特大地震影響替劈,放射性物質(zhì)發(fā)生泄漏寄雀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一陨献、第九天 我趴在偏房一處隱蔽的房頂上張望盒犹。 院中可真熱鬧,春花似錦眨业、人聲如沸急膀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卓嫂。三九已至,卻和暖如春聘殖,著一層夾襖步出監(jiān)牢的瞬間晨雳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工奸腺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留餐禁,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓洋机,卻偏偏與公主長得像坠宴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子绷旗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容