nginx配置负载均衡

mac2022-06-30  23

首先创建三个linux环境,并且作为反向代理的服务必须能拼通那两个处理请求的服务   首先我们去lnmp环境下的里面找到nginx的配置文件。 在开始之前,我们可以先去配置一个虚拟域名 配置方法如下: 在nginx.config中加入,意思是把这个配置文件引入,注意路径。 然后编辑这个文件,把nginx.conf的server复制一份出来,进行编辑   server { #端口号 listen 80; #域名 server_name www.xing.com;   error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } #这是然nginx解析php文件 location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }   然后在windows的hosts里面加入 Ip www.xing.com   然后重启nginx /usr/local/nginx/sbin/nginx -s reload 各个系统重启不太一样,请自行百度       正式配置负载均衡 找到nginx.conf。 在http这个模块下加入连接池,例如     三种常用方法配置,还有其他,想知道,自行百度。 轮询 upstream xing { server 10.101.87.77; #ip是你处理服务的ip server 10.101.87.9; #ip是你处理服务的ip,可以多个 } 权重,权重就是开哪个服务器处理的请求多,例如下面,它的意思是加入有100个请求,ip1处理80个,ip2处理20个,也就是4/1的意思 upstream xing { server 10.101.87.77 weight=80; server 10.101.87.9 weight=20; } ip哈希,是根据请求的ip进行分配,同一个ip它会访问一个ip upstream xing { ip_hash; server 10.101.87.77; server 10.101.87.9; } 三种选择一种就好。完成后进入咱们配置好的a.conf里面去。   进入引入的那个文件,也就是咱们配置虚拟域名那。 我的是这个,你可以随便命名。     里面进行这样编辑,   server { #端口 listen 80; #域名 server_name www.xing.com;   #charset koi8-r;   #access_log logs/host.access.log main; #这是分发请求的方法。 location / { #这是加入一个服务器相应错误后,他会继续请求没问题的服务器 proxy_next_upstream http_502 http_504 error timeout invalid_header; #这的xing要和你连接池的名字保持一致,他的意思把连接池里的ip替换到这来。 proxy_pass http://xing; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }   #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 $document_root$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; #} }   然后重启nginx /usr/local/nginx/sbin/nginx -s reload 最后就简单了,把两个处理请求的服务器的根目录创建一个相同的文件,两个文件的内容按道理必须一样,在这里我们为区分我们的负载均衡是否成功,我们在两个文件中,输入不同的内容,然后开始访问,看他是否进行轮询。如果每次访问的服务器不总是一个,这就对了。

转载于:https://www.cnblogs.com/bestvish/p/10408364.html

最新回复(0)