摘要:關(guān)于如何快速調(diào)教的幾點(diǎn)總結(jié)關(guān)于的好與壞,我覺(jué)得沒(méi)有必要去介紹了,在這里主要分享一下我在實(shí)際的項(xiàng)目部署中是如何快速的調(diào)教的。
關(guān)于如何快速調(diào)教N(yùn)ginx的幾點(diǎn)總結(jié)
關(guān)于Nginx的好與壞,我覺(jué)得沒(méi)有必要去介紹了,在這里主要分享一下我在實(shí)際的項(xiàng)目部署中是如何快速的調(diào)教N(yùn)ginx的。其中分享的源碼大家可以作為模板代碼,根據(jù)自身項(xiàng)目的實(shí)際情況,酌情使用。
這里簡(jiǎn)單的說(shuō)一說(shuō)我為什么要寫這篇文章,網(wǎng)上有很多大而全的文章在介紹Nginx是什么,如何入門等等,玩了很多的文字游戲,反正我接觸Nginx的時(shí)候,去查閱文檔給我的是這種感覺(jué),大而全,但是很亂。這里我要講的不是Nginx的理論知識(shí),而是一些能夠快速的應(yīng)用到項(xiàng)目中的實(shí)際技巧。廢話就說(shuō)這么多,開(kāi)始本次分享的主體。
調(diào)教一:開(kāi)啟GZIP,提高頁(yè)面加載速度http:{ ... gzip on; gzip_min_length 10; gzip_comp_level 4; gzip_disable "MSIE [1-10] ."; gzip_types text/plain appliaton/x-javascript text/css application/xml image/jpeg image/gif image/png image/svg+xml; ... }
gzip on | 開(kāi)啟gzip壓縮功能 |
---|---|
gzip_min_lenght 10 | 壓縮臨界值,大于10KB的文件才壓縮 |
gzip_com_level 4 | 設(shè)置壓縮級(jí)別[0-10],數(shù)字越大,壓縮比越好,但消耗的時(shí)間越長(zhǎng) |
gzip_desable "MSIE [1-10]." | 對(duì)IE瀏覽器不采用壓縮,[1-10]表示瀏覽器版本范圍 |
gzip_types | 需要進(jìn)行文件壓縮的類型,根據(jù)自身情況酌情添加 |
一般情況下,關(guān)于gzip的配置,設(shè)置以上幾個(gè)參數(shù)就可以了調(diào)教二:無(wú)www的域名跳轉(zhuǎn)到帶www的域名
server{ listen 80; server_name http://youdomain.com; return 301 http://www.youdomain.com$request_uri; }
針對(duì)自己的域名,配置一個(gè)全局的server,對(duì)裸域名的請(qǐng)求進(jìn)行轉(zhuǎn)發(fā),注意要加上“$request_uri”
網(wǎng)上有關(guān)這個(gè)問(wèn)題提供了另外一種解決辦法,代碼如下:
server{ listen 80; server_name www.youdomain.com; if ( $host !="www.youdomain.com"){ rewrite ^/(.*)$ http://www.youdomain.com/$1 permanent; } rewrite ^/(.*)$ http://$host$1 permanent; }
我在自己的項(xiàng)目中使用第二種方式進(jìn)行配置,貌似沒(méi)有生效,所以改為了第一種配置方式調(diào)教三:配置https
關(guān)于如何配置server(http)這里不再介紹,網(wǎng)上相關(guān)文檔很多,這里主要分享如何在Nginx中配置HTTPS,配置代碼如下:
server{ listen 443 ssl; server_name www.youdomain.com; access_log logs/com_youdomain_logs.log; ssl_certificate c:/sslfile/cert.crt; ssl_certificate_key c:/sslfile/cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; location /{ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-real-IP $remote_addr; proxy_set_header X-Forwarded-proto $scheme; proxy_connect_timeout 240; proxy_send_timeout 240; proxy_read_timeout 240; proxy_pass http://localhost:8080; proxy_redirect ~^http://([^:]+)(:d+)?(.*)$ https://$1$3; } }
這里需要注意幾個(gè)地方:
監(jiān)聽(tīng)的端口由原來(lái)的80或者其他(通常是80端口)改為 443 ssl 。
ssl_certificate配置HTTPS證書(shū)放置的路徑,ssl_certificate_key 放置HTTPS證書(shū)的秘鑰路徑。
ssl_session_cache配置HTTPS的緩存,ssl_session_timeout配置HTTPS緩存的生命周期。
在location配置中,proxy_set_header部分的代碼是一個(gè)固定用法,不進(jìn)行介紹。
proxy_connect_timeout,proxy_send_timeout和proxy_read_timeout主要配置在HTTPS下建立請(qǐng)求連接、發(fā)送數(shù)據(jù)和讀取數(shù)據(jù)的時(shí)間上線(超時(shí)處理)
proxy_pass設(shè)置Nginx需要代理的請(qǐng)求對(duì)象,如http://localhost:8080 ,這里需要web容器配置,在接下來(lái)會(huì)多帶帶介紹
proxy_redirect設(shè)置代理后的請(qǐng)求轉(zhuǎn)發(fā)重定向:~^http://(1+)(:d+)?(.*)$ https://$1$3; 將http請(qǐng)求重定向到https上。
要實(shí)現(xiàn)https加密請(qǐng)求,還需要web容器的配合,在這里以Apache Tomcat配置為例進(jìn)行介紹。
調(diào)教三:開(kāi)啟tomcat對(duì)https請(qǐng)求的支持在上一小節(jié)中,我們對(duì)server的代理做了如下的配置:
server{ ... location /{ ... proxy_pass http://localhost:8080; ... } ... }
首先,我們需要將tomcat的連接器(Connector)的端口設(shè)置為8080,將轉(zhuǎn)發(fā)重定向的端口(redirectPort)和代理端口(proxyPort)設(shè)置為443。具體的配置代碼如下:
......
然后,需要在Host配置中設(shè)置remoteIpHeader、protocolHeader和protocolHeaderHttpsValue這三個(gè)屬性的值,詳細(xì)配置如下:
...... ... ...
以上就是Nginx+tomcat的組合方式開(kāi)啟https請(qǐng)求的調(diào)教過(guò)程。
結(jié)束語(yǔ)本文是我在實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程中認(rèn)為比較常用其重要的幾個(gè)調(diào)教點(diǎn)技巧,希望本次分享能夠幫到你。此次文章主要分享關(guān)于Nginx小而精的一些常用配置技巧,更多的配置如分布式下一服多實(shí)例的配置我會(huì)多帶帶些一篇文章進(jìn)行分享,今天的內(nèi)容就到這里結(jié)束了;再次感謝你的拜讀,拜拜~~
原文:關(guān)于如何快速調(diào)教N(yùn)ginx的幾點(diǎn)總結(jié)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/40583.html
摘要:在他的重學(xué)前端課程中提到到現(xiàn)在為止,前端工程師已經(jīng)成為研發(fā)體系中的重要崗位之一。大部分前端工程師的知識(shí),其實(shí)都是來(lái)自于實(shí)踐和工作中零散的學(xué)習(xí)。一基礎(chǔ)前端工程師吃飯的家伙,深度廣度一樣都不能差。 開(kāi)篇 前端開(kāi)發(fā)是一個(gè)非常特殊的行業(yè),它的歷史實(shí)際上不是很長(zhǎng),但是知識(shí)之繁雜,技術(shù)迭代速度之快是其他技術(shù)所不能比擬的。 winter在他的《重學(xué)前端》課程中提到: 到現(xiàn)在為止,前端工程師已經(jīng)成為研...
摘要:在他的重學(xué)前端課程中提到到現(xiàn)在為止,前端工程師已經(jīng)成為研發(fā)體系中的重要崗位之一。大部分前端工程師的知識(shí),其實(shí)都是來(lái)自于實(shí)踐和工作中零散的學(xué)習(xí)。一基礎(chǔ)前端工程師吃飯的家伙,深度廣度一樣都不能差。開(kāi)篇 前端開(kāi)發(fā)是一個(gè)非常特殊的行業(yè),它的歷史實(shí)際上不是很長(zhǎng),但是知識(shí)之繁雜,技術(shù)迭代速度之快是其他技術(shù)所不能比擬的。 winter在他的《重學(xué)前端》課程中提到: 到現(xiàn)在為止,前端工程師已經(jīng)成為研發(fā)體系...
摘要:那些瑣碎的知識(shí)點(diǎn)作者記錄的的很奇特很難記的知識(shí)點(diǎn)。易錯(cuò)知識(shí)點(diǎn)整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過(guò)程中掌握的知識(shí)點(diǎn)。 深入理解 PHP 之:Nginx 與 FPM 的工作機(jī)制 這篇文章從 Nginx 與 FPM 的工作機(jī)制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識(shí)...
閱讀 2278·2023-04-25 21:11
閱讀 3055·2021-09-30 09:47
閱讀 2328·2021-09-24 09:48
閱讀 4519·2021-08-23 09:43
閱讀 964·2019-08-30 15:54
閱讀 630·2019-08-28 18:01
閱讀 1486·2019-08-27 10:55
閱讀 649·2019-08-27 10:55