nginx负载均衡简单配置
准备三台虚拟机来做这个实验:
172.16.100.6 web服务器
172.16.100.7 web服务器
172.16.100.106 负载均衡服务器
向web服务器中放入测试文件:
<code><</code><code>html</code><code>> </code>
<code><</code><code>head</code><code>> </code>
<code><</code><code>title</code><code>>Welcome to nginx!</</code><code>title</code><code>> </code>
<code></</code><code>head</code><code>> </code>
<code><</code><code>body</code> <code>bgcolor</code><code>=</code><code>"white"</code> <code>text</code><code>=</code><code>"black"</code><code>> </code>
<code><</code><code>center</code><code>><</code><code>h1</code><code>>Welcome to nginx! 172.16.100.6</</code><code>h1</code><code>></</code><code>center</code><code>> </code>
<code></</code><code>body</code><code>> </code>
<code></</code><code>html</code><code>></code>
<code>vi</code> <code>/usr/local/nginx/conf/nginx</code><code>.conf</code>
<code>user nginx nginx;worker_processes 1;</code>
<code>events {</code>
<code> </code><code>worker_connections 1024;</code>
<code>}</code>
<code>http {</code>
<code> </code><code>include mime.types;</code>
<code> </code><code>default_type application</code><code>/octet-stream</code><code>; </code>
<code> </code><code>sendfile on;</code>
<code> </code><code>keepalive_timeout 65;</code>
<code> </code><code>upstream webservs {</code>
<code> </code><code>server 172.16.100.6 weight=1;</code>
<code> </code><code>server 172.16.100.7 weight=1;</code>
<code> </code><code>}</code>
<code> </code>
<code> </code><code>server {</code>
<code> </code><code>listen 8083;</code>
<code> </code><code>server_name localhost;</code>
<code> </code><code>index index.html index.htm index.php; </code>
<code> </code><code>location / {</code>
<code> </code><code>proxy_pass webservs;</code>
<code> </code><code>proxy_set_header X-Real-IP $remote_addr;</code>
<code> </code><code>}</code>
<code> </code>
<code> </code><code>error_page 500 502 503 504 </code><code>/50x</code><code>.html;</code>
<code> </code><code>location = </code><code>/50x</code><code>.html {</code>
<code> </code><code>root html;</code>
要在server之外定义upstream ,upstream可以定义多个名称,但每一个upstream都要有自己独立的名称
upstream里有很多的子指定,其中server用来定义每一个后端服务器;每一个后端还可以传递很多参数,weight权重,没有权重为0,不做负载均衡的,权重一样就轮调,权重不一样实现加权轮调,还可以实现端口映射;定义server时只能定义名称或是IP地址,不能使用协议http。
<code>upstream backend {</code>
<code> </code><code>server backend1.example.com weight=5;</code>
<code> </code><code>server backend2.example.com:8080;</code>
<code> </code><code>server unik:/tmp/backend3;</code>
<code>server{</code>
<code> </code><code>location / {</code>
<code> </code><code>proxy_pass http://backend; //反向代理不是某些主机,而是upstream定义的名称,,由upstream来实现负载均衡功能</code>
本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1896267,如需转载请自行联系原作者