国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Nginx安裝配置詳解

瀏覽:189日期:2023-03-13 15:37:23

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

簡介

Nginx 的安裝:

# CentOSyum install nginx;# Ubuntusudo apt-get install nginx;# Macbrew 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;# 修改配置后,可以通過下面的命令測試是否有語法錯(cuò)誤nginx -t;

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

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

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

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

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

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

域名和端口的配置

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

主機(jī)名配置

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

URI 匹配

location = / {    # 完全匹配  =    # 大小寫敏感 ~    # 忽略大小寫 ~*}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;}

首頁設(shè)置

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

重定向頁面設(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 {    # 將請求反向代理到上游服務(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 的文件,沒找到直接返回 502    try_files $uri $uri.html =502;}

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

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

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

缺點(diǎn)是增加了一次請求的處理時(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 將請求轉(zhuǎn)發(fā)到有處理能力的端上,默認(rèn)不會(huì)轉(zhuǎn)發(fā)請求中的 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è)簡單的例子,Node.js

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

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

任何請求過來都返回hello world,簡版的 Nginx 配置如下,

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

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

測試語法

nginx -t

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

標(biāo)簽: Nginx
相關(guān)文章:
主站蜘蛛池模板: 巴西一级毛片 | 日本免费人成在线网站 | 综合欧美一区二区三区 | 成人看片黄a在线看 | 亚洲国产日韩欧美综合久久 | 成人免费视频一区二区三区 | 中文一区在线 | 亚洲国产精品一区二区第四页 | 亚洲 欧美 国产 日韩 制服 bt | 日韩欧美一区二区在线观看 | 美国一级毛片不卡无毒 | 久久一区二区精品 | 欧美成人精品欧美一级乱黄 | 亚洲悠悠色综合中文字幕 | 2022国产精品网站在线播放 | 99re在线视频精品 | 日本一级特黄a大片在线 | 一级做a爰性色毛片 | 99热播 | 久久精品中文字幕首页 | 日韩一级视频 | 亚洲成年网 | 久久久精品一区二区三区 | 欧美xo影院 | 一级欧美在线的视频 | 一级毛片aaa | 中文三 级 黄 色 片 | 一级免费a| 欧美日韩中文字幕在线观看 | 成人性色大片 | 国产欧美一区二区三区在线 | 精品国产欧美一区二区最新 | 国内精品久久久久久 | 亚洲精品久久久午夜伊人 | 男人的天堂免费网站 | 色青青草原桃花久久综合 | 亚洲图片一区二区三区 | 九九成人免费视频 | 日韩一级免费视频 | 免费男女乱淫真视频播放 | 亚洲欧美日韩精品高清 |