1、nginx入門:Nginx 的安裝和配置指南

Nginx 是一臺高性能 Web 服務器,它使用了很是少的系統資源。css

1、安裝
一、安裝centos中安裝ngnixhtml

一、使用rpm來安裝
sudo yum install nginx

二、編譯二進制版原本安裝
sudo vi /etc/yum.repos.d/nginx.repo
執行安裝
sudo yum install nginx

2、配置指南node

基本配置格式。
Nginx 全局配置參數
使用 include 文件。
HTTP 的 server 部分
虛擬服務器部分。
location一一-where, when, how
mail的serer 部分。
完整的示例配置文件。

一、Nginx 全局配置參數nginx

全局配置:就是設置對整個ngnix全部地方都生效的配置正則表達式

例:centos

user  nobody;    #配置用戶和組
worker_processes  1; #容許生成的進程數,默認爲1 

error_log  logs/error.log;        #錯誤日誌路徑。
error_log  logs/error.log  notice; #錯誤日誌路徑,通知級別。
error_log  logs/error.log  info;    #錯誤日誌路徑,信息級別。
error_log  logs/error.log  debug;    #錯誤日誌路徑,debug級別修改編譯時進行配置。

pid        logs/nginx.pid;  #指定 nginx 進程運行文件存放地址 

events {
    use  /dev/proll  #事件驅動模型select|poll|kqueue|epoll|resig
    worker_connections  1024; #最大鏈接數,默認爲512
}

二、使用 include 文件。服務器

http {
    include       mime.types;   #文件擴展名與文件類型映射表
    server
    {}
}

mime.types文件內容app

types {
    text/html                                        html htm shtml;
    text/css                                         css;
    text/xml                                         xml;
    等等
    }

三、HTTP 的 server 部分socket

一、客戶端指令
二、文件I/O指令:
三、Hash指令:爲變量分配內存
四、socket指令:tcp

四、虛擬服務器部分

任何由關鍵字server開始的部分都被稱做「虛擬機服務器」部分,server的做用是根據不一樣的server_name指令邏輯分割資源,listen指定具體的IP地址/端口組合或者Unix域套接字路徑:
例:
listen address[:port] 
listen port
listen unix:path;

五、Locations-where,when,how

location指令能夠用於server部分,用於對匹配的url進行重定向、訪問控制等。

= 精準匹配並終止搜索
~ 區分大小寫
~* 不區分大小寫
^~ 最佳匹配,對匹配的不在進行下面的匹配了優先級高於正則表達式

完整示例:

全局配置

user www; //worker 進程的用戶和組
worker_processes 12; //啓用的進程
error_log /var/log/nginx/error.log; //記錄錯誤的級別 debug info notice warn error、crit alert emerg
pid /var/run/nginx . pid; //記錄主進程id的文件
events {
    use /dev/poll;
    worker_connections  2048;
    }
http {
    include    /opt/local/etc/ng nx/mime.types;   #文件擴展名與文件類型映射表
    default_type    application/octet-stream;   #指定默認處理的文件類型能夠是二進制
    sendfile on;    #容許文件複製
    tcp_push on ;    #它可以使得 Nginx 個數據包中嘗試發送響應頭以及在數據包中發送 個完整的文件,配合sendfile on;使用
    tcp_nodelay on;    #啓用或者禁用 TCP NODELAY 選項,用於 keep-alive 鏈接
    keepalive_timeout 65;    #該指令指定 keep-alive 鏈接持續多久 個參數也能夠設置,用於在響應頭中設置「 keepalive 」頭
    server_names_hash_max_size 1024 ;    #該指令指定 server_name 散列表的最大大小
    
    server {            #則使用default_server.若是沒有指定default_server,則會選擇第一個可用的server.咱們能夠指定對於沒有匹配的host值時,返回錯誤到客戶端.能夠用來防止別人把垃圾流量轉到你的網站。
        listen 80 ;        #指定端口
        return 444;        
    }
    
    server {
        listen 80 ;
        server_name www.example.com;    #指令邏輯分割的資源
        location / {
            try_ files $uri $uri/ @mongrel;   #此處表示會匹配/ 目錄下的全部文件進行處理而後返回給/ url 表示其餘 1.文件/opt/html/images/test.gif   2.文件夾 /opt/html/images/test.gif/下的index文件  3. 請求127.0.0.1/images/default.gif 4.其餘注意事項  1.try-files 若是不寫上 $uri/,當直接訪問一個目錄路徑時,並不會去匹配目錄下的索引頁  即 訪問127.0.0.1/images/ 不會去訪問  127.0.0.1/images/index.html 
        location @mongrel {        #若是匹配不上的url就使用這個
            proxy_pass http : //127.0.0.1:8080;     
        }
    }
}
相關文章
相關標籤/搜索