http section和server section。

全局配置參數(shù)

user nginx;//使用nginx用戶身份啟動(dòng)nginx
worker_process 10;// worker進(jìn)程數(shù),一般與cpu核心數(shù)相同。
error_log  /var/log/nginx/error.log warn;// 當(dāng)server中沒有單獨(dú)設(shè)置error_log時(shí)。
pid        /var/run/nginx.pid;
events {
  use  /dev/poll;//使用事件模型`/dev/poll(Solaris 和Unix特有),epoll(Linux特有)`
worker_connections  2048;//一個(gè)工作進(jìn)程可以接口并發(fā)的最大連接數(shù)。
}

Http Section配置

1,簡(jiǎn)介。http section的指令,用來處理http鏈接。

//nginx.conf文件中
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    ####定義訪問日志的格式。 在server中可以使用main格式。access_log  /var/log/nginx/hzq.com.log  main;
    log_format  main  '$remote_addr - [$time_local] "$request" '
                      '$status $body_bytes_sent'
                      '"$http_user_agent"  $request_time ';
    sendfile        on;
    client_header_buffer_size 512k;//當(dāng)客戶端請(qǐng)求頭大于1KB時(shí),會(huì)使用緩存。
    
    keepalive_timeout  65;
  
    include /etc/nginx/site-enables/*.conf;//引入其他conf配置文件(主要是各個(gè)virtual server)
}

Server Section配置

1,簡(jiǎn)介

1)通過關(guān)鍵字server 定義的section,是一個(gè)虛擬服務(wù)器,包含在http關(guān)鍵字定義的section中,用來響應(yīng)http請(qǐng)求。
不在listen中顯示指定default_server, 會(huì)默認(rèn)選擇第一個(gè)。

http {
   include /etc/nginx/mime.types;
   default_type  application/octet-stream;
   log_format  main 'xxxxx'

   include /etc/nginx/site-enables/*.conf; //引入文件。`每個(gè)文件中可以單獨(dú)配置server`
   server {
      listen 80 default_server;// `*:80, 一個(gè)服務(wù)器可能有多個(gè)公網(wǎng)ip,以及內(nèi)網(wǎng)ip。` 當(dāng)沒有Host的header時(shí),作為監(jiān)聽80的default server提供http服務(wù)。
      server_name www.hzq.com  www.hqq.com;//`請(qǐng)求頭 Host ,與server_name匹配,用于route 哪一個(gè)server`
  }
}

2)request中如果沒有包含host字段,或者h(yuǎn)ost字段不在nginx server的server_name中,會(huì)使用在該端口上監(jiān)聽的default_server。
匹配沒有host請(qǐng)求頭的request

server {
  listen 80;
  server_name "";//默認(rèn)值,可不填
 //配置這個(gè)server,將取代在80端口上的default_server
}

3)default_server是listen指令的參數(shù),不同的端口可以指定不同的default_server。

server {
  listen 80 default_server;
  server_name www.hzq.com  www.hqq.com
  //...
}
server {
  listen 210.73.xxx.xxx:9876 default_server;
  server_name "";
  location / {
  }
}

2,nginx通過自身的監(jiān)聽端口、request的host請(qǐng)求頭、server_name指令來決定request route到哪一個(gè)server。

image.png

3,server配置注意點(diǎn)。

1)listen指令的格式
listen ip:port default_server; // 監(jiān)聽的是自己的ip(一個(gè)服務(wù)器可以有多個(gè)ip)和自己的端口。
listen port default_server;
2)server_name .hzq.com; //可以匹配子域和域本身*.hzq.com和hzq.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 使用 HTTP 服務(wù)器或客戶端功能必須調(diào)用require('http')。 Node 里的 HTTP 接口支持協(xié)議...
    保川閱讀 1,499評(píng)論 0 1
  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測(cè)試 ...
    KeKeMars閱讀 6,603評(píng)論 0 6
  • Nginx簡(jiǎn)介 解決基于進(jìn)程模型產(chǎn)生的C10K問題,請(qǐng)求時(shí)即使無狀態(tài)連接如web服務(wù)都無法達(dá)到并發(fā)響應(yīng)量級(jí)一萬的現(xiàn)...
    魏鎮(zhèn)坪閱讀 2,214評(píng)論 0 9
  • 老實(shí)說,在參加文青手繪班以前,我一直都喜歡畫漫畫,一直都是自已摸索著前進(jìn)。 也發(fā)表過一些作品在廠舉辦的內(nèi)刋里。 但...
    涯為漫畫癡閱讀 796評(píng)論 2 7

友情鏈接更多精彩內(nèi)容