Linux下Nginx安装及负载均衡配置
文章目录
- 1.介绍
-
- 1.1 Http代理,反向代理
- 1.2 负载均衡
- 1.3 Web缓存
- 1.4 Ngix相关地址
- 2.Linux下Ngix服务安装(Centos为例)
-
- 2.1 依赖安装
- 2.2 Ngix主程序安装
- 2.3 启动Nginx服务
- 3.Nginx配置详解(反向代理)
-
- 3.1 全局块
- 3.2 events 块
- 3.3 http 块
- 4.配置实例
- 参考文档
1.介绍
Nginx 支持多种负载均衡算法,如轮询、加权轮询、IP 哈希、最少连接数等。通过负载均衡,可以将客户端的请求合理地分配到多个后端服务器上,避免单个服务器负载过高,提高系统的整体性能和可靠性。例如,在一个由多台应用服务器组成的集群中,Nginx 可以根据不同的算法将用户的请求分发到不同的服务器上进行处理。
Nginx常用功能
1.1 Http代理,反向代理
作为web服务器最常用的功能之一,尤其是反向代理。
Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。
1.2 负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,可以参照所有的负载均衡算法,给他一一找出来做下实现。
Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
1.3 Web缓存
Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。
1.4 Ngix相关地址
源码:https://trac.nginx.org/nginx/browser
官网:http://www.nginx.org/
2.Linux下Ngix服务安装(Centos为例)
2.1 依赖安装
检查是否安装gcc,若没有安装执行如下命令:
yum -y install gcc
pcre、pcre-devel、zlib、openssl安装,安装的必要性:(1)pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。(2)zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装;(3)openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl。
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2.2 Ngix主程序安装
下载Ngix安装包(tar.gz格式),下载地址:http://nginx.org/download/,选择需要的版本:
或在主机使用如下命令:
wget http://nginx.org/download/nginx-1.29.0.tar.gz
把压缩包解压到/usr/local,并进入路径:
tar -xzvf nginx-1.29.0.tar.gz -C /usr/local/
cd /usr/local/nginx-1.29.0
按照如下命令配置编译:
./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log -