日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx 入门到实战,新手必懂。

發(fā)布時間:2025/3/20 Nginx 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx 入门到实战,新手必懂。 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今日推薦

扔掉 Postman,一個工具全部搞定,真香!為啥查詢那么慢?還在直接用JWT做鑒權(quán)?JJWT真香推薦 15 款常用開發(fā)工具干掉 navicat:這款 DB 管理工具才是y(永)y(遠)d(的)s(神)

一、環(huán)境

服務(wù)器版本:CentOS 7.2,為了保證學習階段不遇到奇怪的事情,請保證以下四點(大神選擇性無視)

  • 確認系統(tǒng)網(wǎng)絡(luò)

  • 確認yum可用

  • 確認關(guān)閉iptables

  • 確認停用selinux

  • #查看iptables狀態(tài) systemctl status firewalld.service #關(guān)閉防火墻(臨時關(guān)閉) systemctl stop firewalld.service #查看SELinux狀態(tài) getenforce #臨時關(guān)閉SELinux setenforce 0

    安裝一些系統(tǒng)基本工具,正常情況系統(tǒng)都會自帶(沒有在裝哦)

    yum -y install?gcc gcc-c++ autoconf pcre pcre-devel make automake yum -y install?wget httpd-tools vim

    二、Nginx是什么?

    Nginx是一個開源且高性能、可靠的HTTP中間件、代理服務(wù) 其他的HTTP服務(wù):

  • HTTPD-Apache基金會

  • IIS-微軟

  • GWS-Google(不對外開放)

  • 近幾年,Nginx的市場占有率越來越高,一度飆升,為什么呢?接下來我們就知道了!三、我們?yōu)槭裁催x擇Nginx?

    1. IO多路復(fù)用epoll(IO復(fù)用)

    如何理解呢?舉個例子吧!有A、B、C三個老師,他們都遇到一個難題,要幫助一個班級的學生解決課堂作業(yè)。

    老師A采用從第一排開始一個學生一個學生輪流解答的方式去回答問題,老師A浪費了很多時間,并且有的學生作業(yè)還沒有完成呢,老師就來了,反反復(fù)復(fù)效率極慢。

    老師B是一個忍者,他發(fā)現(xiàn)老師A的方法行不通,于是他使用了影分身術(shù),分身出好幾個自己同一時間去幫好幾個同學回答問題,最后還沒回答完,老師B消耗光了能量累倒了。

    老師C比較精明,他告訴學生,誰完成了作業(yè)舉手,有舉手的同學他才去指導(dǎo)問題,他讓學生主動發(fā)聲,分開了“并發(fā)”。這個老師C就是Nginx。

    2. 輕量級

    • 功能模塊少 - Nginx僅保留了HTTP需要的模塊,其他都用插件的方式,后天添加

    • 代碼模塊化 - 更適合二次開發(fā),如阿里巴巴Tengine

    3. CPU親和

    把CPU核心和Nginx工作進程綁定,把每個worker進程固定在一個CPU上執(zhí)行,減少切換CPU的cache miss,從而提高性能。

    三、安裝與目錄

    本人使用了鳥哥的lnmp集成包,簡單方便-推薦!

    #執(zhí)行這句語句,根據(jù)指引,將安裝 nginx php mysql 可進入lnmp官網(wǎng)查看更詳細的過程 #默認安裝目錄/usr/local wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp#默認安裝目錄 /usr/local

    四、基本配置

    #打開主配置文件,若你是用lnmp環(huán)境安裝 vim?/usr/local/nginx/conf/nginx.conf----------------------------------------user #設(shè)置nginx服務(wù)的系統(tǒng)使用用戶 worker_processes #工作進程數(shù) 一般情況與CPU核數(shù)保持一致 error_log #nginx的錯誤日志 pid #nginx啟動時的pidevents {worker_connections????#每個進程允許最大連接數(shù)use #nginx使用的內(nèi)核模型 }

    我們使用 nginx 的 http 服務(wù),在配置文件 nginx.conf 中的 http 區(qū)域內(nèi),配置無數(shù)個 server ,每一個 server 對應(yīng)這一個虛擬主機或者域名

    http {... ... #后面再詳細介紹 http 配置項目server {listen 80 #監(jiān)聽端口;server_name localhost #地址location / { #訪問首頁路徑root /xxx/xxx/index.html #默認目錄index index.html index.htm #默認文件 } error_page 500 504 /50x.html #當出現(xiàn)以上狀態(tài)碼時從新定義到50x.html location = /50x.html { #當訪問50x.html時root /xxx/xxx/html #50x.html 頁面所在位置} }server {... ... } }

    一個 server 可以出現(xiàn)多個 location ,我們對不同的訪問路徑進行不同情況的配置 我們再來看看 http 的配置詳情

    http?{sendfile??on??????????????????#高效傳輸文件的模式 一定要開啟keepalive_timeout 65????????#客戶端服務(wù)端請求超時時間log_format main XXX #定義日志格式 代號為mainaccess_log /usr/local/access.log main #日志保存地址 格式代碼 main }

    四、模塊

    查看 nginx 已開啟和編聯(lián)進去的模塊,模塊太多了,就不在這長篇大論,有需要自行百度吧~

    #大寫V查看所有模塊,小寫v查看版本 nginx -V #?查看此配置文件 是否存在語法錯誤 nginx -tc /usr/local/nginx/conf/nginx.conf

    五、靜態(tài)資源 Web 服務(wù)

    1. 靜態(tài)資源類型

    非服務(wù)器動態(tài)運行生成的文件,換句話說,就是可以直接在服務(wù)器上找到對應(yīng)文件的請求

    1. 瀏覽器端渲染:HTML,CSS,JS

    2. 圖片:JPEG,GIF,PNG

    3. 視頻:FLV,MPEG

    4. 文件:TXT,任意下載文件

    2. 靜態(tài)資源服務(wù)場景-CDN

    什么是CDN?例如一個北京用戶要請求一個文件,而文件放在的新疆的資源存儲中心,如果直接請求新疆距離太遠,延遲久。使用nginx靜態(tài)資源回源,分發(fā)給北京的資源存儲中心,讓用戶請求的動態(tài)定位到北京的資源存儲中心請求,實現(xiàn)傳輸延遲的最小化

    2. nginx靜態(tài)資源配置

    配置域:http、server、location

    http?{ sendfile???on; }http?{ sendfile???on;tcp_nopush?on; }http?{ sendfile???on;tcp_nopush?on;tcp_nodelay?on; }location?~ .*\.(gif|jpg)$?{ gzip?on; gzip_http_version?1.1; gzip_comp_level?2; gzip_types???text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss image/jpeg image/gif image/png; root?/opt/app/code; }location?~ load^/download?{ gzip_static?on?tcp_nopush on;root?/opt/app/code; }

    六、瀏覽器緩存

    HTTP協(xié)議定義的緩存機制(如:Expires; Cache-control等 ),減少服務(wù)端的消耗,降低延遲

    1. 瀏覽器無緩存

    瀏覽器請求 -> 無緩存 -> 請求WEB服務(wù)器 -> 請求相應(yīng) -> 呈現(xiàn)

    呈現(xiàn)階段會根據(jù)緩存的設(shè)置在瀏覽器中生成緩存

    2. 瀏覽器有緩存

    瀏覽器請求 -> 有緩存 -> 校驗本地緩存時間是否過期 -> 沒有過期 -> 呈現(xiàn)

    若過期從新請求WEB服務(wù)器

    3. 語法配置

    location?~ .*\.(html|htm)$?{ expires?12h; }

    服務(wù)器響應(yīng)靜態(tài)文件時,請求頭信息會帶上 etag 和 last_modified_since 2個標簽值,瀏覽器下次去請求時,頭信息發(fā)送這兩個標簽,服務(wù)器檢測文件有沒有發(fā)生變化,如無,直接頭信息返 etag 和last_modified_since,狀態(tài)碼為?304?,瀏覽器知道內(nèi)容無改變,于是直接調(diào)用本地緩存,這個過程也請求了服務(wù),但是傳著的內(nèi)容極少。

    七、跨站訪問

    開發(fā) nginx 跨站訪問設(shè)置

    location?~ .*\.(html|htm)$?{ add_header?Access-Control-Allow-Origin *;add_header?Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;#Access-Control-Allow-Credentials true #允許cookie跨域 }

    在響應(yīng)中指定 Access-Control-Allow-Credentials 為 true 時,Access-Control-Allow-Origin 不能指定為 *,需要指定到具體域名。

    相關(guān)跨域內(nèi)容可參考 Laravel 跨域功能中間件 使用代碼實現(xiàn)跨域,原理與nginx跨域配置相同

    八、防盜鏈

    防止服務(wù)器內(nèi)的靜態(tài)資源被其他網(wǎng)站所套用,此處介紹的 nginx 防盜鏈為基礎(chǔ)方式,其它更加深入的方式將在之后的文章介紹

    首先,需要理解一個nginx變量

    $http_referer #表示當前請求上一次頁面訪問的地址,換句話說,訪問 www.baidu.com 主頁,這是第一次訪問,所以 $http_referer 為空,但是 訪問此頁面的時候還需要獲取一張首頁圖片,再請求這張圖片的時候 $http_referer 就為 www.baidu.com。

    然后配置

    location?~ .*\.(jpg|gif)$?{ valid_referers?none?blocked?127.xxx.xxx.xxif ($invalid_referer) { return?403;} }

    九、HTTP代理服務(wù)

    Nginx可以實現(xiàn)多種代理方式

    • HTTP

    • ICMPPOPIMAP

    • HTTPS

    • RTMP

    1. 代理區(qū)別

    區(qū)別在于代理的對象不一樣,正向代理代理的對象是客戶端,反向代理代理的對象是服務(wù)端

    2. 反向代理

    語法:proxy_pass URL 默認:—— 位置:loactionserver {listen 80;location / {proxy_pass http://127.0.0.1:8080/;proxy_redirect default;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr; proxy_connect_timeout 30; proxy_send_timeout 60;proxy_read_timeout 60;proxy_buffer_size 32k;proxy_buffering on; proxy_buffers 4?128k;proxy_busy_buffers_size 256k;proxy_max_temp_file_size 256k; } }

    本文介紹了 Nginx 相關(guān)配置和場景,后面文章會介紹負載均衡和緩存服務(wù)相關(guān)知識。

    來源:https://segmentfault.com/a/1190000014893012

    推薦文章1、一款高顏值的 SpringBoot+JPA 博客項目2、超優(yōu) Vue+Element+Spring 中后端解決方案3、推薦幾個支付項目!4、推薦一個 Java 企業(yè)信息化系統(tǒng)5、一款基于 Spring Boot 的現(xiàn)代化社區(qū)(論壇/問答/社交網(wǎng)絡(luò)/博客)

    總結(jié)

    以上是生活随笔為你收集整理的Nginx 入门到实战,新手必懂。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日日夜夜中文字幕 | 1000部啪啪未满十八勿入 | 青青草手机视频 | 国产精品久久一区二区三区动 | 男人桶进美女尿囗 | 老司机一区二区三区 | 天天做天天爱 | 国精产品一区二区 | 玖玖精品国产 | 五月婷在线观看 | 成人小网站 | 久久精品国产亚洲av久 | 亚洲欧美字幕 | japan高清日本乱xxxxx | 超碰人人人人人人人 | 国产精品久久一区二区三区动 | av女人的天堂 | 国产精品国产三级国产aⅴ下载 | 丰满人妻在公车被猛烈进入电影 | 国产美女av| 在线视频一区二区 | 久久久久久逼 | 午夜久久| 日韩伦理一区二区 | 亚州久久久 | 台湾佬av | 视频一区二区在线播放 | 成人a级免费视频 | 99网站 | 涩涩av| 在线观看日韩一区二区 | 97人人精品| 麻豆av电影网 | 国产成人精品一区二区在线小狼 | 日韩中文字幕视频 | 欧美比基尼 | 成年人网站黄 | 美女靠逼视频网站 | 99热偷拍| 午夜欧美在线 | 91精品综合久久久久久 | 久久不雅视频 | 久久综合色婷婷 | 99热这里有 | 日韩 欧美 亚洲 | 成人性做爰aaa片免费看不忠 | 日本东京热一区二区 | 五月天中文字幕在线 | 久久久久亚洲av成人片 | 激情视频一区二区三区 | 国产在线拍揄自揄拍无码视频 | 天天视频黄色 | 男女激情在线观看 | 777理伦三级做爰 | 久草福利资源在线观看 | 欧美午夜免费 | 40一50一60老女人毛片 | 青青草公开视频 | 亚洲欧美小视频 | 女生脱裤子让男生捅 | 国产精品卡一卡二 | yy色综合 | 动漫av网站免费观看 | 51av视频 | jizzjizz视频 | 波多野42部无码喷潮在线 | 精品国产91久久久久久久妲己 | 成人福利小视频 | 久久久123 | www.youji.com| 重口味av| 久久久18| 久草网在线视频 | 国产精品白嫩极品美女 | 91热久久 | 国产伦精品一区 | 色婷婷狠狠18禁久久 | 国产又粗又猛又爽又黄的 | 亚洲日本网站 | 国产成人精品一区二区三区无码熬 | 国产欧美综合一区 | 欧美色图11p | 人人爽人人爽人人片 | 久久精品国产久精国产 | 鲁在线视频 | 美女让男生桶 | 狂野欧美性猛交免费视频 | 一区二区三区中文视频 | 日韩精品一区二区三区 | 色爱av综合网 | 精品视频一区二区三区 | 色综合一区二区 | 97成人精品| 日韩一级淫片 | 亚洲欧洲综合av | 在线观看国产免费av | 亚洲区一| 亚洲爽爽网 | 国产农村乱对白刺激视频 |