nginx的负载均衡和健康检查

实验前提

server1:172.25.55.1(有nginx安装包)
server2:172.25.55.2(下载httpd)
server3:172.25.55.3(下载httpd)

一、编译、安装nginx

[root@server1 nginx-1.15.7]# vim src/core/nginx.h	
 14 #define NGINX_VER          "nginx/" (去掉nginx版本,防止被攻击)	
[root@server1 nginx-1.15.7]# vim auto/cc/gcc
	171 # debug
	172 #CFLAGS="$CFLAGS -g"(注释debug日志,否则占用内存太多)
[root@server1 nginx-1.15.7]# ./configure --prefix=/usr/local/nginx/ 
--with-http_ssl_module --with-http_stub_status_module 
--with-threads --with-file-aio (完全异步)

[root@server1 nginx-1.15.7]#make && make install
[root@server1 ~]# lscpu(查看cpu内核数)
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4

我们可以在虚拟机管理器中改变cpu数。
nginx的负载均衡和健康检查_第1张图片

二、编辑Nginx配置文件

[root@server1 conf]# pwd
/usr/local/nginx/conf
[root@server1 conf]# vim nginx.conf
	  2 user  nginx nginx;(用户、组)
	  3 worker_processes  4;(worker进程与内核数相同,也可使用auto,但此模式有时不均衡)
	  4 worker_cpu_affinity   0001 0010 0100 1000;
	
	 13 events {
	 14     worker_connections  65535;
	 15 }
	 16 
	 17 
	 18 http {
	 19         upstream westos {
	 20                 server 172.25.55.2:80;
	 21                 server 172.25.55.3:80;
	 22                 server 127.0.0.1:80 backup;
	 23         }
	 24     include       mime.types;
	 25     default_type  application/octet-stream;
	 
	124   server {
	125         listen       80;
	126         server_name  www.westos.org;
	127 
	128         location / {
	129                 proxy_pass http://westos;
	130         }
	131         }

[root@server1 conf]# /usr/local/nginx/sbin/nginx -t(语法检测,如果报错则检查配置文件)
[root@server1 conf]# /usr/local/nginx/sbin/nginx(打开Nginx,为方便打开服务,我们也可以为其做软链接)
  • 查看进程,nginx有一个master进程,4个worker进程。
    nginx的负载均衡和健康检查_第2张图片
  • 在server1上编辑网页:
    nginx的负载均衡和健康检查_第3张图片
  • server2编辑网页,并开启httpd服务:
    在这里插入图片描述
  • server3编辑网页,并开启httpd服务:
    nginx的负载均衡和健康检查_第4张图片

三、测试:

客户端要有域名解析:

[kiosk@foundation55 新4]$ vim /etc/hosts
172.25.55.1     server1  www.westos.org bbs.westos.org
  • 当两个服务器都运行时:
    nginx的负载均衡和健康检查_第5张图片
  • 当server2服务端出现问题后:
    nginx的负载均衡和健康检查_第6张图片
  • 当两个服务器出现问题后:
    在这里插入图片描述

你可能感兴趣的:(linux,运维)