nginx安装以及实现高可用负载均衡

概念

Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

正向代理

正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

客户端必须要进行一些特别的设置才能使用正向代理。

正向代理的用途:

  • 访问原来无法访问的资源,如 Google
  • 可以做缓存,加速访问资源

 反向代理

反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。

反向代理是一种可以集中地调用内部服务,并提供统一接口给公共客户的 Web 服务器。

反向代理实际运行方式是指以代理服务器来接受连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理的作用:

  • 保证内网的安全。隐藏后端服务器的信息,屏蔽黑名单中的 IP,限制每个客户端的连接数。
  • 提高可扩展性和灵活性。客户端只能看到反向代理服务器的 IP,这使你可以增减服务器或者修改它们的配置。
  • 缓存。直接返回命中的缓存结果
  • 静态内容直接返回:HTML/CSS/JS、图片、视频等等
  • 负载均衡,通过反向代理服务器来优化网站的负载

正向代理:proxy和client同属一个LAN,对server透明

反向代理:proxy和server同属一个LAN,对client透明

实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把后出现的那种代理方式叫成了反向代理。

下载:http://nginx.org/

安装

第一步,安装pcre

1.1、wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

1.2、解压文件 tar -xzvf 路径

1.3、pcre主目录执行命令 ./configure

可能遇到情况=1.3.1、没有c++支持

             nginx安装以及实现高可用负载均衡

安装c++支持:yum install -y gcc gcc-c++

1.4、完成后、回到pcre目录下执行 make && make install

1.5、查看版本 pcre-config --version
nginx安装以及实现高可用负载均衡

 

第二步,安装其他依赖 :

zlib openssl yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

安装nginx

安装nginx

1、解压nginx-xx.tar.zg包

2、进入解压目录,执行./configure

3、make && make install

4、在/usr/local/nginx/sbin 目录下执行 ./nginx

注意:开放端口或关闭防火墙默认80端口

启动后在浏览器访问

nginx安装以及实现高可用负载均衡

 

nginx常用命令

查看版本 以下命令都是在/usr/local/nginx/sbin 目录下执行

./nginx -v

启动nginx : ./nginx

关闭nginx: ./nginx -s stop

重加载nginx: ./nginx -s reload

nginx结合keepalive

nginx结合keepalive可以实现nginx的高可用

安装keepalive

yum install -y popt-devel

cd /usr/local/src

tar zxvf keepalived-1.2.2.tar.gz

cd keepalived-1.2.2

./configure --prefix=/

make && make install

 新建检查nginx脚本

vi /root/check_nginx.sh

if [ "$(ps -ef | grep "nginx:master process"| grep -v grep )" == "" ]

 then

    /etc/init.d/keepalived stop

 else

    echo "nginx is running"

fi

chmod +x /root/check_nginx.sh

修改配置文件

修改两台keepalived服务器配置文件

我这两台服务器ip分别是 192.168.110.129, 192.168.110.130

执行:vi /etc/keepalived/keepalived.conf

192.168.110.129

nginx安装以及实现高可用负载均衡

192.168.110.130

nginx安装以及实现高可用负载均衡

启动keepalived

centos6

service keepalived start 

centos8

systemctl start keepalived 

测试

关掉主的nginx,看到vip漂移到了从,且仍然能通过虚拟IP均衡地访问web服务器