深入浅出Nginx-负载均衡与反向代理实践之一
博客分类: Nginx/Tomcat
【Nginx简介】
Nginx(发音同engine x),是来自于俄罗斯的高性能web服务器和反向代理服务器。在国内有新浪、网易、豆瓣、迅雷等多家网站使用。
负载均衡(load balance):使用Nginx作为代理服务器,接收用户请求,并将其“均匀地转发”给多台内部web服务器,不会出现负载集中在某台服务器的现象。
反向代理(reverse proxy):标准的代理是用户使用代理软件访问互联网上的多台web服务器,而反向代理指的是多个用户使用代理服务器访问多台内部web服务器的模式。
使用Nginx的优点:
支持高并发访问:在生产环境下支持高达5万以上的并发连接数。
内存消耗少:在5万并发连接环境下,开启10个worker进程,仅仅消耗150M内存。
容易配置:配置文件便于学习、阅读。
成本低廉:Nginx是免费的开源软件,无须付费。
支持rewrite重写规则:Nginx使用pcre进行正则表达式匹配,根据请求域名、url的不同,将http请求分发给不同的后端服务器。
内建健康检查功能:Nginx能够检测某台后端服务器是否宕机,不影响用户访问。
节省带宽:可以对静态资源进行gzip高效压缩,而通常浏览器都具有gzip解压缩功能。
性能稳定:使用Nginx作为反向代理服务器,有效避免了网络攻击对后端服务器的影响,提高了安全性。
【安装Nginx】
一. 安装依赖包:
1. 安装pcre:对正则表达式的支持。
tar -zxvf pcre-8.33.tar.gz
Shell代码
cd pcre-8.33
./configure --prefix=/usr/local/pcre
make && make install
2. 安装zlib:对gzip压缩的支持。
Shell代码
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make && make install
3. 安装openssl:对ssl协议的支持。
Shell代码
tar -zxvf openssl-1.0.0.tar.gz
cd openssl-1.0.0
./config --prefix=/usr/local/openssl
make && make install
二. 安装Nginx:
1. 创建日志目录:
Shell代码
mkdir -p /opt/nginx/logs
2. 解压、配置:
Shell代码
tar -zxvf nginx-1.6.0.tar.gz
cd nginx-1.6.0
./configure --prefix=/usr/local/nginx \
--error-log-path=/opt/nginx/logs/error.log \
--http-log-path=/opt/nginx/logs/access.log \
--with-pcre=/software/pcre-8.33 \
--with-zlib=/software/zlib-1.2.8 \
--with-http_ssl_module \
--with-openssl=/software/openssl-1.0.0 \
--with-http_stub_status_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--without-http_fastcgi_module \
--without-http_memcached_module \
--without-http_map_module \
--without-http_geo_module \
--without-http_autoindex_module \
--with-poll_module
说明:
1. 使用\:表示多个物理行同属一个逻辑行.
2. 日志文件:error.log存放Nginx的错误日志,access.log存放用户访问日志.
3. 依赖关系:pcre、zlib、openssl需要设置为源码位置,而不是安装位置.
3. 编译、安装:
Shell代码
make && make install
【最小配置】
1. 修改Nginx启动端口号:修改监听端口号为8080,因为只有root账号能够使用0-1024之间的端口号.
Shell代码
vi /usr/local/nginx/conf/nginx.conf
listen 8080;
2. 防火墙设置:开放8080端口
Shell代码
su - root
vi /etc/sysconfig/iptables
追加如下内容:
Shell代码
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启网卡:
Shell代码
service iptables restart
【启动、关闭】
1. 启动nginx:并指定配置文件,参数-c为configure
Shell代码
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2. 关闭nginx:参数-s为signal
Shell代码
#等待worker进程处理完用户的当前请求,再进行关闭
/usr/local/nginx/sbin/nginx -s quit
#快速关闭
/usr/local/nginx/sbin/nginx -s stop
3. 使用kill命令关闭:关闭主进程(master process),从进程(worker process)随之消亡.
Shell代码
ps -ef | grep nginx
kill 21531
分享到:
相关推荐
第2.6篇-Nginx部分-反向代理和负载均衡-反向代理配置 共13页 第2.6篇-Nginx部分-反向代理和负载均衡-负载均衡配置 共9页 第2.7篇-Nginx部分-Rewrite功能 共29页 第2.8篇-Nginx部分-Nginx工作原理 共15页 第2.9篇-...
文件中包含了nginx在win7系统64位的安装包,和对应的负载均衡与反向代理源码
Nginx的负载均衡和反向代理Nginx的负载均衡和反向代理Nginx的负载均衡和反向代理Nginx的负载均衡和反向代理Nginx的负载均衡和反向代理
nginx 负载均衡 反向代理 nginx 负载均衡 反向代理 nginx 负载均衡 反向代理
Nginx反向代理- 负载均衡
nginx配置负载均衡和反向代理示例
第6章_Nginx_HTTP负载均衡和反向代理的配置与优化
nginx的负载均衡和反向代理的demo,springboot版本,访问ip即可在页面展示服务器的ip和端口。
Nginx负载均衡与反向代理
1.1 Nginx不仅是一个出色的web软件,其七层代理和负载均衡也是相当出色。Nginx做前端代理,当用户请求服务时,可以根据url进行判断,然后分配到不同的后台webserver上。 1.2 Nginx的负载均衡实现原理:首先在http...
【nginx入门】nginx反向代理与负载均衡教程
Nginx 反向代理与负载均衡详解
windows下配置NGINX反向代理实现访问同一服务不同站点都通过80端口访问 配置实现负载均衡,nginx的基本命令
基于lua的nginx自定义负载均衡基于lua的nginx自定义负载均衡
nginx sticky是nginx的module,可以实现基于cookie的负载均衡。 下载后,在编译安装nginx时,用--add-module选项,指到sticky所在目录。类似命令如下: ./configure --prefix=/usr/local/nginx-1.6.0 --add-module=...
已编译好的nginx-http-flv-molule(windows...在网上查找半天都只有教程,没有可免费下载的版本,深知没有积分遍地找资源的痛苦,无奈之下只好自己按照教程一步一个坑编译出来的,供大家免费下载使用。(无毒放心使用)
Nginx-配置负载均衡的几种方式
资源说明: 1. 采用nginx最新版编译,包含最新的nginx-http-flv-module,以及基础...1. 将压缩包解压到D:\nginx-1.19.3目录下 2. 使用cmd命令打开DOS,并切换到D:\nginx-1.19.3 3. 使用nginxservice.exe install安装
目前的项目网站架构中使用了F5和nginx,F5用来做负载均衡,nginx只用作反向代理服务器。最近应客户的要求准备去掉F5,使用软负载。大家都知道nginx抗并发能力强,又可以做负载均衡,而且使用nginx对我们目前的网站...
Nginx 负载均衡和反向代理配置和优化 DNS 轮询方式: 介绍: DNS 轮询是指一个域名可以绑定到多个的 ip 服务器上, 用户在访问的时候 dns轮询访问这几个 ip 的服务器, 达到负载均衡的目的. 可以使用 linux 命令 dig ...