国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nginx 一點一滴 02 - 基礎配置

qylost / 3035人閱讀

摘要:經(jīng)過認證之后沒有過期時間,直到該頁面關(guān)閉如果需要更多的控制,可以使用服務器基礎配置實例測試的訪問測試的訪問

Nginx服務器基礎配置指令 nginx.conf文件的結(jié)構(gòu)

Global: nginx運行相關(guān)

events: 與用戶的網(wǎng)絡連接相關(guān)

http

http Global: 代理,緩存,日志,以及第三方模塊的配置

server

server Global: 虛擬主機相關(guān)

location: 地址定向,數(shù)據(jù)緩存,應答控制,以及第三方模塊的配置

  

所有的所有的所有的指令,都要以;結(jié)尾

配置運行Nginx服務器用戶(組)

user nobody nobody;

配置允許生成的worker process數(shù)

worker_processes auto;
worker_processes 4;

  

這個數(shù)字,跟電腦CPU核數(shù)要保持一致

ganiks ?  Nginx git:(master) ? grep ^proces /proc/cpuinfo
processor       : 0
processor       : 1
processor       : 2
processor       : 3
ganiks ?  Nginx git:(master) ? grep ^proces /proc/cpuinfo | wc -l
4
配置Nginx進程PID存放路徑

pid logs/nginx.pid;

  

這里面保存的就是一個數(shù)字,nginx master 進程的進程號

配置錯誤日志的存放路徑

error_log logs/error.log;
error_log logs/error.log error;

配置文件的引入

include mime.types;
include fastcgi_params;
include ../../conf/*.conf;

設置網(wǎng)絡連接的序列化

accept_mutex on;

  

對多個nginx進程接收連接進行序列化,防止多個進程對連接的爭搶(驚群)

設置是否允許同時接收多個網(wǎng)絡連接

multi_accept off;

事件驅(qū)動模型的選擇

use select|poll|kqueue|epoll|rtsig|/dev/poll|eventport

  

這個重點,后面再看

配置最大連接數(shù)

worker_connections 512;

定義MIME-Type

include mime.types;
default_type application/octet-stream;

自定義服務日志

access_log logs/access.log main;
access_log off;

配置允許sendfile方式傳輸文件

sendfile off;

sendfile on;
sendfile_max_chunk 128k;

  

nginx 每個worker process 每次調(diào)用 sendfile()傳輸?shù)臄?shù)據(jù)量的最大值

Refer:

Linux kenel sendfile 如何提升性能

nginx sendifle tcp_nopush tcp_nodelay參數(shù)解釋

配置連接超時時間
  

與用戶建立連接后,Nginx可以保持這些連接一段時間, 默認 75s
下面的65s可以被Mozilla/Konqueror識別,是發(fā)給用戶端的頭部信息Keep-Alive

keepalive_timeout 75s 65s;

單連接請求數(shù)上限
  

和用戶端建立連接后,用戶通過此連接發(fā)送請求;這條指令用于設置請求的上限數(shù)

keepalive_requests 100;

配置網(wǎng)絡監(jiān)聽

listen *:80 | *:8000; # 監(jiān)聽所有的80和8000端口

listen 192.168.1.10:8000;
listen 192.168.1.10;
listen 8000; # 等同于 listen *:8000;
listen 192.168.1.10 default_server backlog=511; # 該ip的連接請求默認由此虛擬主機處理;最多允許1024個網(wǎng)絡連接同時處于掛起狀態(tài)

基于名稱的虛擬主機配置

server_name myserver.com www.myserver.com;

server_name .myserver.com www.myserver. myserver2.*; # 使用通配符

  

不允許的情況: server_name www.ab*d.com; # *只允許出現(xiàn)在www和com的位置

server_name ~^wwwd+.myserver.com$; # 使用正則

  

nginx的配置中,可以用正則的地方,都以~開頭

  

from Nginx~0.7.40 開始,server_name 中的正則支持 字符串捕獲功能(capture)

server_name ~^www.(.+).com$; # 當請求通過www.myserver.com請求時, myserver就被記錄到$1中, 在本server的上下文中就可以使用

如果一個名稱 被多個虛擬主機的 server_name 匹配成功, 那這個請求到底交給誰處理呢?看優(yōu)先級:

準確匹配到server_name

通配符在開始時匹配到server_name

通配符在結(jié)尾時匹配到server_name

正則表達式匹配server_name

先到先得

基于IP的虛擬主機配置
  

基于IP的虛擬主機,需要將網(wǎng)卡設置為同時能夠監(jiān)聽多個IP地址

ifconfig
# 查看到本機IP地址為 192.168.1.30
ifconfig eth1:0 192.168.1.31 netmask 255.255.255.0 up
ifconfig eth1:1 192.168.1.32 netmask 255.255.255.0 up
ifconfig
# 這時就看到eth1增加來2個別名, eth1:0 eth1:1

# 如果需要機器重啟后仍保持這兩個虛擬的IP
echo "ifconfig eth1:0 192.168.1.31 netmask 255.255.255.0 up" >> /etc/rc.local
echo "ifconfig eth1:0 192.168.1.32 netmask 255.255.255.0 up" >> /etc/rc.local

再來配置基于IP的虛擬主機

http {
    ...
    server {
     listen 80;
     server_name 192.168.1.31;
     ...
    }
    server {
     listen 80;
     server_name 192.168.1.32;
     ...
    }
}
配置location塊(重中之重)
  

location 塊的配置,應該是最常用的了

location [ = | ~ | ~* | ^~ ] uri {...}

這里內(nèi)容分2塊,匹配方式和uri, 其中uri又分為 標準uri和正則uri

先不考慮 那4種匹配方式

Nginx首先會再server塊的多個location中搜索是否有標準uri和請求字符串匹配, 如果有,記錄匹配度最高的一個;

然后,再用location塊中的正則uri和請求字符串匹配, 當?shù)谝粋€正則uri匹配成功,即停止搜索, 并使用該location塊處理請求;

如果,所有的正則uri都匹配失敗,就使用剛記錄下的匹配度最高的一個標準uri處理請求

如果都失敗了,那就失敗嘍

再看4種匹配方式:

=: 用于標準uri前,要求請求字符串與其嚴格匹配,成功則立即處理

^~: 用于標準uri前,并要求一旦匹配到,立即處理,不再去匹配其他的那些個正則uri

~: 用于正則uri前,表示uri包含正則表達式, 并區(qū)分大小寫

~*: 用于正則uri前, 表示uri包含正則表達式, 不區(qū)分大小寫

  

^~ 也是支持瀏覽器編碼過的URI的匹配的哦, 如 /html/%20/data 可以成功匹配 /html/ /data

配置請求的根目錄

Web服務器收到請求后,首先要在服務端指定的目錄中尋找請求資源

root /var/www;

更改location的URI

除了使用root指明處理請求的根目錄,還可以使用alias 改變location收到的URI的請求路徑

location ~ ^/data/(.+.(htm|html))$ {
    alias /locatinotest1/other/$1;
}
設置網(wǎng)站的默認首頁

index 指令主要有2個作用:

對請求地址沒有指明首頁的,指定默認首頁

對一個請求,根據(jù)請求內(nèi)容而設置不同的首頁,如下:

location ~ ^/data/(.+)/web/$ {
    index index.$1.html index.htm;
}
設置網(wǎng)站的錯誤頁面

error_page 404 /404.html;
error_page 403 /forbidden.html;
error_page 404 =301 /404.html;

location /404.html {
    root /myserver/errorpages/;
}
基于IP配置Nginx的訪問權(quán)限
location / {
    deny 192.168.1.1;
    allow 192.168.1.0/24;
    allow 192.168.1.2/24;
    deny all;
}
  

從192.168.1.0的用戶時可以訪問的,因為解析到allow那一行之后就停止解析了

基于密碼配置Nginx的訪問權(quán)限

auth_basic "please login";
auth_basic_user_file /etc/nginx/conf/pass_file;

  

這里的file 必須使用絕對路徑,使用相對路徑無效

# /usr/local/apache2/bin/htpasswd -c -d pass_file user_name
# 回車輸入密碼,-c 表示生成文件,-d 是以 crypt 加密。

name1:password1
name2:password2:comment
  

經(jīng)過basic auth認證之后沒有過期時間,直到該頁面關(guān)閉;
如果需要更多的控制,可以使用 HttpAuthDigestModule http://wiki.nginx.org/HttpAuthDigestModule

Nginx服務器基礎配置實例
user ganiks ganiks;

worker_processes 3;

error_log logs/error.log;
pid myweb/nginx.pid;

events {
    use epoll;
    worker_connections 1024;
}

http {
    include mime.types;
    default_type applicatioin/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    log_format access.log "$remote_addr [$time_local] "$request" "$http_user_agent"";

    server {
        listen 8081;
        server_name myServer1;

        access_log myweb/server1/log/access.log;
        error_page 404 /404.html;

        location /server1/location1 {
            root myweb;
            index index.svr1-loc1.htm;
        }

        location /server1/location2 {
            root myweb;
            index index.svr1-loc2.htm;
        }
    }

    server {
        listen 8082;
        server_name 192.168.0.254;

        auth_basic "please Login:";
        auth_basic_user_file /home/ganiks/learn/nginx/Nginx/myweb/user_passwd;

        access_log myweb/server2/log/access.log;
        error_page 404 /404.html;

        location /server2/location1 {
            root myweb;
            index index.svr2-loc1.htm;
        }

        location /svr2/loc2 {
            alias myweb/server2/location2/;
            index index.svr2-loc2.htm;
        }

        location = /404.html {
            root myweb/;
            index 404.html;
        }
    }
}
ganiks ?  Nginx git:(master) ? ./sbin/nginx -c conf/nginx02.conf
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /home/ganiks/learn/nginx/Nginx/conf/nginx02.conf:1
ganiks ?  myweb git:(master) ? tree .      
.
├── 404.html
├── server1
│?? ├── location1
│?? │?? └── index.svr1-loc1.htm
│?? ├── location2
│?? │?? └── index.svr1-loc2.htm
│?? └── log
│??     └── access.log
└── server2
    ├── location1
        │?? └── index.svr2-loc1.htm
            ├── location2
                │?? └── index.svr2-loc2.htm
                    └── log
                            └── access.log

                            8 directories, 7 files

測試myServer1的訪問
http://myserver1:8081/server1/location1/
this is server1/location1/index.svr1-loc1.htm

http://myserver1:8081/server1/location2/
this is server1/location1/index.svr1-loc2.htm
測試myServer2的訪問
http://192.168.0.254:8082/server2/location1/
this is server2/location1/index.svr2-loc1.htm

http://192.168.0.254:8082/svr2/loc2/
this is server2/location1/index.svr2-loc2.htm

http://192.168.0.254:8082/server2/location2/
404 404 404 404

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/39190.html

相關(guān)文章

  • Nginx筆記(二)Nginx基礎

    摘要:負責請求的全局配置,負責具體及其下具體的配置。運行狀態(tài)監(jiān)控使用模塊配置上下文配置實踐編輯配置如下增加一個配置這里寫這個校驗配置重載配置驗證結(jié)果隨機首頁使用模塊配置上下文配置實踐我們先在目錄下準備個頁面和以上個頁面,只是不同。 Nginx配置文件 nginx.conf是主配置文件,在文件尾通過include /etc/nginx/conf.d/*.conf引入了default.conf配...

    liaoyg8023 評論0 收藏0
  • Nginx location 配置踩坑過程分享

    摘要:所以到目前為止,基本可以肯定是的上出了一些問題。問題解決因篇幅有限,為了直面本次問題的核心,我不再貼出完整的配置,我簡化此次問題的模型。 這是五個小時與一個字符的戰(zhàn)斗 是的,作為一個程序員,你往往發(fā)現(xiàn),有的時候你花費了數(shù)小時,數(shù)天,甚至數(shù)星期來查找問題,但最終可能只花費了數(shù)秒,改動了數(shù)行,甚至幾個字符就解決了問題。這次給大家分享一個困擾了我很久,我花了五個小時才查找出問題原因...

    alighters 評論0 收藏0
  • Nginx + Node + Vue 部署初試(2019-02-18修改)

    摘要:它的作用是監(jiān)聽后建立的連接,對讀寫事件進行添加刪除。事件處理模型和的非阻塞模型結(jié)合在一起使用。 趁著爸媽做年夜飯之前,把之前做的筆記貼出來,新的一年到了,祝大家 showImg(https://segmentfault.com/img/remote/1460000018099635?w=251&h=201); Nginx + Node + Vue 部署初試 知乎 個人博客 Githu...

    kel 評論0 收藏0
  • nginx日志管理

    摘要:一基礎配置配置示例聲明日志日志位置日志格式這里的關(guān)鍵點在這個配置參數(shù)表示記錄的格式,這只是個名稱,具體格式是使用指令設置格式說明我們當然可以通過自定義自己喜歡的格式組合應用自定義格式組合允許針對不同的做不同的日志策略二每天凌晨保存日志到 一、基礎配置 1.配置示例 access_log logs/host.access.log main access_log 聲明日志 logs...

    crelaber 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<