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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx编译安装,nginx静态资源访问和负载均衡的使用!

發(fā)布時(shí)間:2025/4/5 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx编译安装,nginx静态资源访问和负载均衡的使用! 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、前言

今天這篇文章呢,主要是總結(jié)一下過年期間復(fù)習(xí)的nginx負(fù)載均衡一些配置簡單的實(shí)戰(zhàn)演示!

二、nginx的常見使用

這里我主要演示nginx的源碼安裝以及相應(yīng)的模塊安裝,然后講解一下負(fù)載均衡的原理并通過實(shí)戰(zhàn)來簡單演示,還有靜態(tài)資源的訪問(比如說圖片和視頻的訪問),關(guān)于什么是nginx,它是干什么用的,網(wǎng)上有很多介紹,這里我就不啰嗦了,我挑重點(diǎn)實(shí)戰(zhàn)來分享!

1、nginx以及相關(guān)模塊源碼安裝:

我們先進(jìn)行源碼所需要的模塊

-- nginx-1.13.7.tar.gz

-- openssl-1.1.0g.tar.gz

-- pcre-8.41.tar.gz

-- zlib-1.2.11.tar.gz

對應(yīng)下載地址:

wget?http://nginx.org/download/nginx-1.13.7.tar.gz wget?https://www.openssl.org/source/openssl-1.1.0g.tar.gz wget?http://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz wget?http://www.zlib.net/zlib-1.2.11.tar.gz

(1)解壓nginx:

(2)解壓openssl:

(3)解壓pcre:

(4)解壓zlib:

(5)進(jìn)行配置,先進(jìn)入到nginx里面去,然后執(zhí)行下面語句:

./configure?--prefix=/usr/local/nginx? --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_secure_link_module? --with-http_stub_status_module --with-stream --with-pcre=/home/txp/share/nginx/pcre-8.41 --with-zlib=/home/txp/share/nginx/zlib-1.2.11? --with-openssl=/home/txp/share/nginx/openssl-1.1.0g

然后直接make:

然后接著再sudo make install:

最終我們可以看到在/usr/local/nginx/目錄下看到安裝的nginx:

現(xiàn)在我們可以試著來運(yùn)行nginx,并進(jìn)行訪問(下面的訪問成功):

這里小結(jié)一下:

很多開源軟件的安裝步驟大概都差不多是下面這樣的套路(比如等下我們下面要安裝的模塊,也是這樣安裝的思路,所以這里就不造輪子了)

-- ./cofigure

-- make

--sudo make install

2、自己寫conf文件

在平時(shí)的開發(fā)過程中,主要我們要去配置它的conf文件夾下的nginx.conf文件

root@ubuntu:/usr/local/nginx#?ls client_body_temp??conf??fastcgi_temp? html??logs??proxy_temp??sbin??scgi_temp? uwsgi_temp

這個(gè)文件原本內(nèi)容是:

#user??nobody; worker_processes??1;#error_log??logs/error.log; #error_log??logs/error.log??notice; #error_log??logs/error.log??info;#pid????????logs/nginx.pid;events?{worker_connections??1024; }http?{include???????mime.types;default_type??application/octet-stream;#log_format??main??'$remote_addr?-?$remote_user?[$time_local]?"$request"?'#??????????????????'$status?$body_bytes_sent?"$http_referer"?'#??????????????????'"$http_user_agent"?"$http_x_forwarded_for"';#access_log??logs/access.log??main;sendfile????????on;#tcp_nopush?????on;#keepalive_timeout??0;keepalive_timeout??65;#gzip??on;server?{listen???????80;server_name??localhost;#charset?koi8-r;#access_log??logs/host.access.log??main;location?/?{root???html;index??index.html?index.htm;}#error_page??404??????????????/404.html;#?redirect?server?error?pages?to?the?static?page?/50x.html#error_page???500?502?503?504??/50x.html;location?=?/50x.html?{root???html;}#?proxy?the?PHP?scripts?to?Apache?listening?on?127.0.0.1:80##location?~?\.php$?{#????proxy_pass???http://127.0.0.1;#}#?pass?the?PHP?scripts?to?FastCGI?server?listening?on?127.0.0.1:9000##location?~?\.php$?{#????root???????????html;#????fastcgi_pass???127.0.0.1:9000;#????fastcgi_index??index.php;#????fastcgi_param??SCRIPT_FILENAME??/scripts$fastcgi_script_name;#????include????????fastcgi_params;#}#?deny?access?to?.htaccess?files,?if?Apache's?document?root#?concurs?with?nginx's?one##location?~?/\.ht?{#????deny??all;#}}#?another?virtual?host?using?mix?of?IP-,?name-,?and?port-based?configuration##server?{#????listen???????8000;#????listen???????somename:8080;#????server_name??somename??alias??another.alias;#????location?/?{#????????root???html;#????????index??index.html?index.htm;#????}#}#?HTTPS?server##server?{#????listen???????443?ssl;#????server_name??localhost;#????ssl_certificate??????cert.pem;#????ssl_certificate_key??cert.key;#????ssl_session_cache????shared:SSL:1m;#????ssl_session_timeout??5m;#????ssl_ciphers??HIGH:!aNULL:!MD5;#????ssl_prefer_server_ciphers??on;#????location?/?{#????????root???html;#????????index??index.html?index.htm;#????}#}}

這里內(nèi)容比較多,我們現(xiàn)在自己來寫一個(gè)配置文件來實(shí)現(xiàn)nginx的訪問:

txp@ubuntu:/usr/local/nginx$?sudo?mkdir?demo_conf txp@ubuntu:/usr/local/nginx$?cd?demo_conf/ txp@ubuntu:/usr/local/nginx$?vim?demo_conf/demo.conf worker_processes?4;#進(jìn)程數(shù)量events{worker_connections?1024;#并發(fā)訪問數(shù)量} http{server?{listen?8888;#監(jiān)聽端口server_name?localhost;#服務(wù)器名稱client_max_body_size?100m;#訪問的數(shù)量大小location?/?{root?/usr/local/nginx/html/?#訪問這個(gè)本地服務(wù)器里面的這個(gè)html頁面}}}

現(xiàn)在我們來看一下我們自己配置的是否成功,先把之前的nginx關(guān)閉掉:

./sbin/nginx?-s?stop

然后再執(zhí)行這個(gè)配置文件:

./sbin/nginx?-c?demo_conf/demo.conf

這里擴(kuò)展一下基礎(chǔ)知識(shí)點(diǎn):

Nginx 由配置文件中指定的指令控制的模塊組成。指令分為簡單指令和塊指令。一個(gè)簡單的指令由空格分隔的名稱和參數(shù)組成,并以分號(;)結(jié)尾。塊指令具有與簡單指令相同的結(jié)構(gòu),但不是以分號結(jié)尾,而是以大括號({和})包圍的一組附加指令結(jié)束。如果塊指令可以在大括號內(nèi)部有其他指令,則稱為上下文(例如:events,http,server 和 location)。配置文件中放置在任何上下文之外的偽指令都被認(rèn)為是主上下文。events 和 http 指令駐留在主上下文中,server 在 http 中的,而 location 在 http 塊中。

3、負(fù)載均衡、反向代理和靜態(tài)資源的訪問演示:

--反向代理原理(ReverseProxy):它是指以代理服務(wù)器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端,簡單來說就是真實(shí)的服務(wù)器不能直接被外部網(wǎng)絡(luò)訪問,想要訪問必須通過代理,如下圖所示:

上圖中有兩個(gè)網(wǎng)關(guān),一個(gè)是nginx應(yīng)用層網(wǎng)關(guān),一個(gè)路由器硬件網(wǎng)關(guān),nginx和各服務(wù)器都是在同一個(gè)局域網(wǎng)里面;路由器它做了一個(gè)端口映射(nat)直接訪問到nginx,給人的感覺nginx就在公網(wǎng)上面;

注意這里的服務(wù)器對外不提供服務(wù)的,通過nginx代理來向外提供服務(wù);外面訪問的是公網(wǎng)ip,然后通過端口映射找到nginx

現(xiàn)在我們用nginx做代理配置(比如說我這里用143的這臺(tái)機(jī)器代理141這臺(tái)機(jī)器):

worker_processes?4;events{worker_connections?1024;} http{server?{listen?8888;server_name?localhost;client_max_body_size?100m;location?/?{root?/usr/local/nginx/html/;proxy_pass?http://192.168.29.141;}}}

注意:141的那臺(tái)機(jī)器也安裝nginx了,然后當(dāng)我訪問143這臺(tái)機(jī)器的時(shí)候,其實(shí)訪問的是141這臺(tái)機(jī)器的內(nèi)容,這就是代理的使用了

-- 負(fù)載均衡:從負(fù)載均衡四個(gè)字來看,肯定是用來減輕服務(wù)器的訪問壓力的;比如說當(dāng)一臺(tái)服務(wù)器的單位時(shí)間內(nèi)的訪問量越大時(shí),服務(wù)器壓力就越大,大到超過自身承受能力時(shí),服務(wù)器就會(huì)崩潰(比如每年雙十一活動(dòng),淘寶就使用了nginx的負(fù)載均衡的功能,不然當(dāng)天那么多的用戶活躍在淘寶上,服務(wù)器肯定吃不消啊!)。因此為了避免服務(wù)器崩潰,讓用戶有更好的體驗(yàn),我們通過負(fù)載均衡的方式來分擔(dān)服務(wù)器壓力。我們可以建立很多很多服務(wù)器,組成一個(gè)服務(wù)器集群,當(dāng)用戶訪問網(wǎng)站時(shí),先訪問一個(gè)中間服務(wù)器(也就是我們的nginx),在讓這個(gè)中間服務(wù)器在服務(wù)器集群中選擇一個(gè)壓力較小的服務(wù)器,然后將該訪問請求引入該服務(wù)器。如此以來,用戶的每次訪問,都會(huì)保證服務(wù)器集群中的每個(gè)服務(wù)器壓力趨于平衡,分擔(dān)了服務(wù)器壓力,避免了服務(wù)器崩潰的情況。

下面我演示負(fù)載均衡案例:

worker_processes?4;events{worker_connections?1024;} http{upstream?backend{server?192.168.29.142?weight=2;//weight表示權(quán)重server?192.168.29.141?weight=1;}server?{listen?8888;server_name?localhost;client_max_body_size?100m;location?/?{#???root?/usr/local/nginx/html/;#???????proxy_pass?http://192.168.29.141;proxy_pass?http://backend;}}}

注意:權(quán)重表示被訪問的更多,這里由于我三臺(tái)機(jī)器都安裝了nginx,所以內(nèi)容顯示看不出什么不同之處來,其實(shí)142的機(jī)器被訪問了2次,141的機(jī)器被訪問了1次,我這里有三臺(tái)機(jī)器:141、142、143:

-- 訪問靜態(tài)資源(圖片和視頻)

這里我在143的機(jī)器上放了幾張圖片,然后在/usr/local/nginx目錄下創(chuàng)建了一個(gè)images文件夾,然后把143機(jī)器上的圖片copy到images下面來:

root@ubuntu:/usr/local/nginx#?ls client_body_temp??fastcgi_temp??images??proxy_temp??scgi_temp???vip_conf conf??????????????html??????????logs????sbin????????uwsgi_temproot@ubuntu:/usr/local/nginx#?mv?/home/txp/share/nginx/*.png?images/ root@ubuntu:/usr/local/nginx#?ls client_body_temp??fastcgi_temp??images??proxy_temp??scgi_temp???vip_conf conf??????????????html??????????logs????sbin????????uwsgi_temp root@ubuntu:/usr/local/nginx#?cd?images/ root@ubuntu:/usr/local/nginx/images#?ls 1.png??2.png??3.png

然后進(jìn)行conf文件配置:

worker_processes?4;events{worker_connections?1024;} http{upstream?backend{server?192.168.29.142?weight=2;server?192.168.29.141?weight=1;}server?{listen?8888;server_name?localhost;client_max_body_size?100m;location?/?{#???root?/usr/local/nginx/html/;#???????proxy_pass?http://192.168.29.141;proxy_pass?http://backend;}location?/images/?{root?/usr/local/nginx/;}} }

實(shí)現(xiàn)結(jié)果如下:

下面我在演示一下視頻訪問,同樣,我創(chuàng)建一個(gè)media目錄,然后把143機(jī)器上的test.mp4copy到media目錄來:

root@ubuntu:/usr/local/nginx#?mv?/home/txp/share/nginx/test.mp4??media/ root@ubuntu:/usr/local/nginx#?cd?media/ root@ubuntu:/usr/local/nginx/media#?ls test.mp4

conf文件配置:

worker_processes?4;events{worker_connections?1024;} http{upstream?backend{server?192.168.29.142?weight=2;server?192.168.29.141?weight=1;}server?{listen?8888;server_name?localhost;client_max_body_size?100m;location?/?{#???root?/usr/local/nginx/html/;#???????proxy_pass?http://192.168.29.141;proxy_pass?http://backend;}location?/images/?{root?/usr/local/nginx/;}location?~\.(mp3|mp4)?#這里利用了正則表達(dá)式root?/usr/local/nginx/media/;}} }

結(jié)果如下:

總結(jié)

以上是生活随笔為你收集整理的nginx编译安装,nginx静态资源访问和负载均衡的使用!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久青青操 | wwwwxxxx国产| 欧美成人aaa片一区国产精品 | 美女被男人c | 成人午夜又粗又硬又大 | 久久激情片 | 日本成人在线一区 | 亚洲欧美精品在线观看 | 欧美人在线 | 3p在线视频| 啪视频免费 | 欧美成人精品一区二区三区在线看 | 日产av在线播放 | 日韩欧美一区二区三区免费观看 | 九一国产视频 | 亚洲丝袜中文字幕 | 国产91嫩草 | 黄网站欧美内射 | 成人黄色小视频在线观看 | 国产精品一区二区三区四区在线观看 | 美女福利视频在线 | 91高清视频 | 亚洲free性xxxx护士白浆 | 欧美久操 | 日本黄色免费网址 | 国产午夜精品一区二区三区 | 亚洲欧美国产精品专区久久 | 午夜在线播放 | 精品一区二区三区视频在线观看 | 国产精品羞羞答答 | 玖玖爱在线精品视频 | 国内毛片毛片毛片 | 一级绝黄| 啪一啪在线| 国产又粗又猛又黄又爽视频 | 嫩草影院黄色 | 亚洲女人天堂成人av在线 | 葵司ssni-879在线播放 | 91精品国产综合久 | 亚洲天堂女人 | 欧美 日韩 国产 中文 | 国产农村妇女毛片精品久久 | 中出中文字幕 | www.超碰在线观看 | 成人av无码一区二区三区 | 欧美黄色性 | 色多多视频在线 | 涩涩精品 | 欧美高清在线视频 | av网站在线免费观看 | 欧美三个黑人玩3p | 欧美一级性生活视频 | h视频在线免费看 | 91伦理在线| 人妻熟女一区 | 朝桐光av一区二区三区 | 五月婷婷激情小说 | 欧美爱爱免费视频 | 不卡中文字幕 | 影音先锋在线视频观看 | 色噜噜狠狠一区二区三区牛牛影视 | 少妇性生活视频 | 婷婷视频一区二区三区 | 91亚洲国产成人久久精品网站 | 欧美性猛交性大交 | 色爱成人综合 | 在线观看91 | 美女干b视频| 韩国甜性涩爱 | 日韩午夜精品 | 久久国产加勒比精品无码 | 久久久久久久国产精品毛片 | 欧美草比视频 | 公交上高潮的丁芷晴 | 成人毛片一级 | 秋霞视频在线 | www.成人在线观看 | 毛片一区 | xxxxx在线观看 | 日b视频免费观看 | 激情五月婷婷综合网 | 暖暖免费观看日本版 | www网站在线观看 | 38在线视频 | 精品少妇视频 | 国产黄色特级片 | 国产一区二区三区精品在线 | 久久亚洲AV成人无码国产野外 | 综合天天色| 欧美亚洲天堂网 | 亚洲视频一区二区在线观看 | 污污网址在线观看 | 日本亚洲免费 | 日韩精品无码一区二区三区久久久 | 日韩在线视频网站 | 综合图区亚洲 | 久久免费视频精品 | 午夜免费网 | 久久夜色精品亚洲 |