最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx安裝配置詳解

 更新時(shí)間:2022年06月22日 15:51:05   作者:小旭2021  
Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù)。本文詳細(xì)講解了Nginx安裝與配置的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

不論是本地開(kāi)發(fā),還是遠(yuǎn)程到 Server 開(kāi)發(fā),還是給提供 demo 給人看效果,我們時(shí)常需要對(duì) Nginx 做配置,Nginx 的配置項(xiàng)相當(dāng)多,如果考慮性能配置起來(lái)會(huì)比較麻煩。不過(guò),我們往往只是需要一個(gè)靜態(tài) Server,或者一個(gè)反向代理 Server,這對(duì) Nginx 來(lái)說(shuō)小菜一碟。

簡(jiǎn)介

Nginx 的安裝:

# CentOS
yum install nginx;
# Ubuntu
sudo apt-get install nginx;
# Mac
brew install nginx;

一般可以在/etc/nginx/nginx.conf中配置,啟動(dòng)參數(shù)為:

# 啟動(dòng)
nginx -s start;
# 重新啟動(dòng),熱啟動(dòng),修改配置重啟不影響線上
nginx -s reload;
# 關(guān)閉
nginx -s stop;
# 修改配置后,可以通過(guò)下面的命令測(cè)試是否有語(yǔ)法錯(cuò)誤
nginx -t;

-s,signal,意思就是向 nginx 發(fā)送start|reload|stop命令,還是很好理解的。先看一個(gè)最簡(jiǎn)單的nginx.conf配置:

events {
    # 需要保留這一個(gè)段落,可以為空
}
http {
    server {
        listen 127.0.0.1:8888;
        location / {
            root /home/chenya/test/;
        }
    }
}

啟動(dòng)后,訪問(wèn)htttp://127.0.0.1:8888,如果/home/chenya/test/下有index.html文件就會(huì)展示index.html的內(nèi)容,否則返回404。

Nginx 配置一個(gè) Web 服務(wù)器

以下對(duì)配置 Web 服務(wù)器的參數(shù)做簡(jiǎn)單說(shuō)明,包括如何配置端口、域名,如何處理請(qǐng)求,如何響應(yīng)請(qǐng)求。

1、 虛擬主機(jī)和請(qǐng)求的分發(fā)

域名和端口的配置

listen 127.0.0.1:8000;
listen *:8000;
listen localhost:8000;
# IPV6
listen [::]:8000;
# other params
listen 443 default_serer ssl;
listen 127.0.0.1 default_server accept_filter=dataready backlog=1024

主機(jī)名配置

server_name www.chenya.site  chenya.site
server_name *.chenya.com
server_name ~^\.chenya\.com$

URI 匹配

location = / {
    # 完全匹配  =
    # 大小寫(xiě)敏感 ~
    # 忽略大小寫(xiě) ~*
}
location ^~ /images/ {
    # 前半部分匹配 ^~
    # 可以使用正則,如:
    # location ~* \.(gif|jpg|png)$ { }
}
location / {
    # 如果以上都未匹配,會(huì)進(jìn)入這里
}

2、 文件路徑的定義

根目錄設(shè)置

location / {
    root /home/chenya/test/;
}

別名設(shè)置

location /blog {
    alias /home/chenya/www/blog/;
}
location ~ ^/blog/(\d+)/([\w-]+)$ {
    # /blog/20141202/article-name 
    # -> /blog/20141202-article-name.md
    alias /home/chenya/www/blog/$1-$2.md;
}

首頁(yè)設(shè)置

index /html/index.html /php/index.php;

重定向頁(yè)面設(shè)置

error_page    404         /404.html;
error_page    502  503    /50x.html;
error_page    404  =200   /1x1.gif;
location / {
    error_page  404 @fallback;
}
location @fallback {
    # 將請(qǐng)求反向代理到上游服務(wù)器處理
    proxy_pass http://localhost:9000;
}

try_files 設(shè)置

try_files $uri $uri.html $uri/index.html @other;
location @other {
    # 嘗試尋找匹配 uri 的文件,失敗了就會(huì)轉(zhuǎn)到上游處理
    proxy_pass  http://localhost:9000;
}
location / {
    # 嘗試尋找匹配 uri 的文件,沒(méi)找到直接返回 502
    try_files $uri $uri.html =502;
}

Nginx 配置反向代理服務(wù)器

反向代理(reserve proxy)方式是指用代理服務(wù)器來(lái)接受 Internet 上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)中的上游服務(wù)器,并將上游服務(wù)器上得到的結(jié)果返回給 Internet 上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外的表現(xiàn)就是一個(gè) Web 服務(wù)器。

Nginx 具備超強(qiáng)的高并發(fā)高負(fù)載能力,一般會(huì)作為前端的服務(wù)器直接向客戶端提供靜態(tài)文件服務(wù);而業(yè)務(wù)一般還包含一些業(yè)務(wù)邏輯需要 Apache、Tomcat 等服務(wù)器來(lái)處理,故通常 Nginx 對(duì)外表現(xiàn)即為靜態(tài) Web 服務(wù)器也是反向代理服務(wù)器。

缺點(diǎn)是增加了一次請(qǐng)求的處理時(shí)間,優(yōu)點(diǎn)是降低了上游服務(wù)器的負(fù)載,盡量將壓力放在 Nginx 服務(wù)器上。

1、負(fù)載均衡配置

upstream,定義一個(gè)上游服務(wù)器集群

upstream backend {
    # ip_hash;
    server s1.chenya.com;
    server s2.chenya.com;
}
server {
    location / {
        proxy_pass http://backend;
    }
}

2、反向代理

proxy_pass 將請(qǐng)求轉(zhuǎn)發(fā)到有處理能力的端上,默認(rèn)不會(huì)轉(zhuǎn)發(fā)請(qǐng)求中的 Host 頭部

location /blog {
    prox_pass http://localhost:9000;
    ### 下面都是次要關(guān)注項(xiàng)
    proxy_set_header Host $host;
    proxy_method POST;
    # 指定不轉(zhuǎn)發(fā)的頭部字段
    proxy_hide_header Cache-Control;
    proxy_hide_header Other-Header;
    # 指定轉(zhuǎn)發(fā)的頭部字段
    proxy_pass_header Server-IP;
    proxy_pass_header Server-Name;
    # 是否轉(zhuǎn)發(fā)包體
    proxy_pass_request_body on | off;
    # 是否轉(zhuǎn)發(fā)頭部
    proxy_pass_request_headers on | off;
    # 顯形/隱形 URI,上游發(fā)生重定向時(shí),Nginx 是否同步更改 uri
    proxy_redirect on | off;
}

一個(gè)簡(jiǎn)單的例子,Node.js

一個(gè)十分常見(jiàn)的需求:處理請(qǐng)求,如果是靜態(tài)文件,Nginx 直接返回,否則交給 Node 服務(wù)器處理。首先創(chuàng)建了一個(gè) Node 服務(wù)器:

const http = require('http');
http.createServer((req, res) => {
    res.end('hello world');
}).listen(9000);

任何請(qǐng)求過(guò)來(lái)都返回hello world,簡(jiǎn)版的 Nginx 配置如下,

events {
    # 這里可不寫(xiě)東西
    use epoll;
}
http {
    server {
        listen 127.0.0.1:8888;
        # 如果請(qǐng)求路徑跟文件路徑按照如下方式匹配找到了,直接返回
        try_files $uri $uri/index.html;
        location ~* ^/(js|css|image|font)/$ {
            # 靜態(tài)資源都在 static 文件夾下
            root /home/chenya/www/static/;
        }
        location /app {
            # Node.js 在 9000 開(kāi)了一個(gè)監(jiān)聽(tīng)端口
            proxy_pass http://127.0.0.1:9000;
        }
        # 上面處理出錯(cuò)或者未找到的,返回對(duì)應(yīng)狀態(tài)碼文件
        error_page    404            /404.html;
        error_page    502  503  504  /50x.html;
    }
}

首先 try_files,嘗試直接匹配文件;沒(méi)找到就匹配靜態(tài)資源;還沒(méi)找到就交給 Node 處理;否則就返回 4xx/5xx 的狀態(tài)碼。

測(cè)試語(yǔ)法

nginx -t

到此這篇關(guān)于Nginx安裝配置的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • centos6.4下nginx1.12.1安裝教程

    centos6.4下nginx1.12.1安裝教程

    這篇文章主要為大家詳細(xì)介紹了centos6.4下nginx1.12.1安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Nginx日志打印自定義請(qǐng)求頭的實(shí)戰(zhàn)

    Nginx日志打印自定義請(qǐng)求頭的實(shí)戰(zhàn)

    nginx的日志可以打印很多內(nèi)容,但是有時(shí)候自定義的請(qǐng)求頭該怎么打印呢,本文就來(lái)介紹一下,感興趣的可以了解一下
    2024-12-12
  • 詳解Nginx服務(wù)器的配置中開(kāi)啟文件Gzip壓縮的方法

    詳解Nginx服務(wù)器的配置中開(kāi)啟文件Gzip壓縮的方法

    這篇文章主要介紹了Nginx服務(wù)器的配置中開(kāi)啟文件Gzip壓縮的方法,可以對(duì)CSS和JavaScript以及各種圖片等web傳輸?shù)奈募M(jìn)行壓縮,需要的朋友可以參考下
    2016-01-01
  • nginx中使用lua腳本的方法

    nginx中使用lua腳本的方法

    這篇文章主要介紹了nginx中使用lua腳本的方法,本文介紹通過(guò)第三方模塊lua-nginx-module實(shí)現(xiàn)lua腳本在nginx的調(diào)用,并附一個(gè)配置例子,需要的朋友可以參考下
    2014-07-07
  • Nginx的重寫(xiě)Rewrite使用示例分析

    Nginx的重寫(xiě)Rewrite使用示例分析

    這篇文章主要介紹了Nginx Rewrite功能使用,rewrite是Nginx服務(wù)器提供的一個(gè)重要基本功能,主要作用用來(lái)實(shí)現(xiàn)URL地址重寫(xiě),需要的朋友可以參考下
    2022-05-05
  • Linux部署Nginx實(shí)現(xiàn)反向代理的方法步驟

    Linux部署Nginx實(shí)現(xiàn)反向代理的方法步驟

    Nginx 是一種常用、輕型且快速的 Web 服務(wù)器, 它可以在 Linux 和 Windows 上運(yùn)行,并且可以配置為反向代理服務(wù)器,本文主要介紹了Linux部署Nginx實(shí)現(xiàn)反向代理的方法步驟,感興趣的可以了解一下
    2023-08-08
  • Nginx SSI指令配置詳解

    Nginx SSI指令配置詳解

    這篇文章主要介紹了Nginx SSI指令配置詳解,本文講解了什么是SSI、為什么要用SSI、nginx配置SSI、頁(yè)面上配置、配置示例等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹

    使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹

    大家好,本篇文章主要講的是使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2021-12-12
  • nginx部署前端post請(qǐng)求405?not?allowed問(wèn)題解決

    nginx部署前端post請(qǐng)求405?not?allowed問(wèn)題解決

    在配置前端項(xiàng)目的時(shí)候遇到了一個(gè)post請(qǐng)求405 not allowed,簡(jiǎn)單記錄一下如何配置,這篇文章主要給大家介紹了關(guān)于nginx部署前端post請(qǐng)求405?not?allowed問(wèn)題解決方法,需要的朋友可以參考下
    2023-09-09
  • nginx部署到服務(wù)器后文件上傳提示405

    nginx部署到服務(wù)器后文件上傳提示405

    使用nginx部署到服務(wù)器后,本地訪問(wèn)服務(wù)器地址,上傳文件提示:405 Not Allowed,本文就來(lái)解決一下該問(wèn)題,感興趣的可以了解一下
    2023-10-10

最新評(píng)論

当阳市| 景宁| 甘孜县| 沐川县| 阳曲县| 友谊县| 衡阳县| 苏尼特右旗| 桦甸市| 无为县| 昆山市| 扎赉特旗| 龙岩市| 镇沅| 海原县| 乌什县| 项城市| 曲阜市| 清徐县| 凤台县| 乌什县| 沾化县| 长顺县| 龙泉市| 金阳县| 青浦区| 崇州市| 阿拉尔市| 南昌县| 什邡市| 裕民县| 东海县| 铜陵市| 余干县| 大姚县| 台北市| 昌平区| 凌源市| 阿巴嘎旗| 阿拉善右旗| 龙口市|