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

歡迎訪問 生活随笔!

生活随笔

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

Nginx

Nginx_负载均衡配置讲解

發(fā)布時間:2024/4/13 Nginx 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx_负载均衡配置讲解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
反向代理說完了,接下來就是負載均衡了,負載均衡也是比較簡單的,之前反向代理就是用proxy_pass這個參數(shù),負載均衡無非就是用upstream這個參數(shù),叫做upstream,這個就上來直接講吧,cd /usr/local/nginx/conf下,然后vim nginx.conf,剛才我們已經做了反向代理這一塊,無非就是加了這一塊

負載均衡其實就是更簡單了,我把它暫時先注釋掉,我把這塊注釋掉,反向代理就結束了,負載均衡我這里還有一個小例子,#webapp#upstream myapp { # server 192.168.1.171:8080 weight=1 max_fails=2 fail_timeout=30s; # server 192.168.1.172:8080 weight=1 max_fails=2 fail_timeout=30s; #} 這個你要注意,負載均衡是在http之內,但是是在server之外的,跟server平級的一個配置,叫做upstream,后面的myapp名字可以隨便取無所謂,那也就是說我不應該放在server里邊,可以放到server外邊,比如我放到這,這都是可以的,當然我這里只是最基本的簡單的使用,你百度一下upstream的詳細的用法很多很多,當然這個是一個注釋掉的,我們剛才只是反向代理的一臺,一個節(jié)點,如果你想要有多個節(jié)點的話,你要指定upstream指定的一個名字然后在upstream里面去配置多個節(jié)點,其實相當于這樣的,看一下,upstream這個固定的,myapp這個名字你自己隨便去取,那我現(xiàn)在myapp相當于代理了均衡了兩個節(jié)點,171和172,當然在我這里是114和115了,都是8080,然后這個weight權重是什么意思呢,他們兩個都是1,就是一半一半,如果我有10個請求,5個請求走114,5個請求走115,如果我這兒寫成2呢,那就相當于什么啊,相當于一共如果有9個請求的話,3個請求走第一個,有6個請求走第二個,差不多這樣的,max fails然后如果請求過來了,2次失敗了的話,認為你的節(jié)點掛了,fail timeout每次連接失敗的超時時間是30秒,當然也可以有一個backup,失效了以后我可以切換到備服務器,也會有一個backup的選項,這個我們稍后講keeepalived的時候會去說,當然upstream里面也有很多的配置,在這里先了解幾個最常用的,首先server名一定要有,然后指定IP或者域名都行,那我這里就是114和115兩個,肯定是兩個tomcat,權重都平均,然后基本上兩次失敗就認為節(jié)點掛了,每一個掛的時間是30s,如果連接超時了就認為連接掛了,差不多就是這樣的一個配置,然后你這個名字叫做myapp

注意看我這塊怎么去寫了,我這個location里面沒什么東西,就一句話

就把之前的反向代理的這塊,給他改成這個樣子,就可以了

就用原先那個,他愿意攔截哪個就攔截哪個,總之我就把這個粘到這,因為這個我們可能會用到,因為是真實IP,如果沒有x-real-ip,tomcat那邊getHeader報錯了,所以我也順帶也帶著,接下來proxy_pass還是不變的,只不過http換成了什么啊換成了myapp了,注意要加分號,不加分號就報錯,現(xiàn)在就實現(xiàn)了一個負載均衡了,當然這個策略里有很多種策略,有哈希策略,包括等等一些策略,咱們就按照一個最簡單的權重分吧,這樣其實就實現(xiàn)了負載均衡了

如果說我代理到這個節(jié)點,upstream去給我負載均衡策略,寫完了以后,保存退出,然后接下來115就用到他了,cd /usr/local/software/,這里面有沒有tomcat,tar -zxvf apache-tomcat.tar.gz -C /usr/local,給他解壓到local下,然后cd到tomcat的webapps下,rm -rf docs/, rm -rf examples/, rm -rf host-manager/, rm -rf manager/,先把這些刪了,cd 到 ROOT下,下面還是有這么些個,我把114的配置文件scp一下,scp /usr/local/apache-tomcat/webapps/ROOT/test.jsp 192.168.1.115:/usr/local/apache-tomcat/webapps/ROOT/然后回車,輸入密碼

copy成功,那115下面就應該有他了,vim test.jps,我們改一下,由于我們要看到代理的情況,我們把它改成2,注意這里Test2我改成2了,114是Test1,115就是Test2,就這點區(qū)別

我把這個tomcat也啟動,/usr/local/apache-tomcat/bin/startup.sh

啟動jps

tail -f -n 100 /usr/local/apache-tomcat/logs/catalina.out,看一下啟動了,沒問題

現(xiàn)在基本上來講,我114,115呢有兩個,兩個tomcat,192.168.1.114:8080/test.jsp,回車

是這樣的結果,115呢

也是這樣的結果,只不過Test是2,這是第二個界面,然后,上面是第一個界面,現(xiàn)在我們已經在linux下配置了負載均衡了,那我就直接reload看一下結果了,vim nginx.conf,我已經配置upstream,上面因為我已經配置了兩個節(jié)點,當然你可以多個,兩臺節(jié)點,tomcat你可以配10個,然后權重都是1,1人訪問1次,差不多是這樣的情況

然后去重啟一下,/usr/local/nginx/sbin/nginx -s reload

這樣的話,我就敲http://192.168.1.114:70/test.jsp回車

第一次訪問的是Test1,第二次訪問的是Test2

第三次又是1,這樣的話每次請求,相當于負載均衡了,一會再說優(yōu)化的事情,明白怎么去做負載均衡的事了吧,非常簡單,其實就是一個配置,很簡單,至于你說nginx如何去優(yōu)化,優(yōu)化就復雜了去了,不是一句兩句能說明的,其實優(yōu)化這個地方啊,其實我剛才說了,你可以做很多種方式,動靜分離啊,加快這種訪問的速度,然后還有一些通過正則啊,分流啊,如果你想優(yōu)化nginx速度的話,因為網絡傳輸有帶寬,你可以做之前我所說的那塊,我覺得這個是你自學的東西,我會在這里講這個,沒有太多意義,純配置了其實優(yōu)化就是根據(jù)你自己的工作經驗,然后你具體是什么樣的服務器,然后你具體怎么去優(yōu)化,這個就和配置有關了,其實沒什么含量,沒什么技術含量,無非就是一些什么啊,對一些靜態(tài)的文件進行緩存,動靜分離嗎,然后對你的請求,你的每次請求做一次壓縮,這個是我要發(fā)給你的一個小例子,我這里就有一個config #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 8888;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location ~/group([0-9])/M00 {#alias /fastdfs/storage/data;ngx_fastdfs_module;}#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;# }#}} 我們工作中最簡單的,根據(jù)工作中的一個小的虛擬機,去配置一些這個東西,因為很多網站嗎,不是天貓?zhí)詫毮莻€級別,沒那么大并發(fā)量,有一個nginx意思意思就行了,就是適量的去加一些client端的buffer,然后max_body限制多少兆,其實你要說優(yōu)化就是這些東西,就是在http下,配置一堆,加一些緩存的level,加一些這些東西,其實都一樣,配置其實就這一塊,優(yōu)化沒什么可講的,就這一塊,其實咱們的session共享的話,這塊我還是要說,我一般不會用session去做任何的東西,記得之前講redis的時候,你可以用redis結合tomcat,結合的去做session共享,如果你想實現(xiàn)單點登陸的東西,一般流行自己開發(fā)一個認證系統(tǒng),那肯定是配合著CAS,加上你自己的一些權限啊,一些設置啊,去開發(fā),session里面放東西的可能性還是不大的,基本上今天就對nginx做一個入門級的描述,大體上把一些很常見的問題吧,虛擬主機配置啊,location怎么去URL過濾啊,寫正則啊,包括日志啊,怎么開啟多個虛擬主機啊,像upstream負載均衡,反向代理啊,自己做一個演示一下,明天可能就是通過nginx,可能現(xiàn)在是一個nginx,明天可能是2個三個,然后是一個keepalived區(qū)做一個高可用,就是這個nginx掛了怎么辦差不多就是這樣的一個意思

?

總結

以上是生活随笔為你收集整理的Nginx_负载均衡配置讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。