- 浏览: 1064572 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
最近有些时间,开始接触负载均衡方面的东西,从硬件F5再到Citrix Netscalar。不过因为硬件的配置虽然不复杂,但昂贵的价格也让一般用户望而却步(十几万到几十万),所以只能转向nginx,squid这类有反向代理功能的软件了。好在其设置都不是很麻烦。
本文就之前所做过的安装和配置步骤做一下总结分享出来,以免日后忘记了。
首先是windows系统,这里建议使用window 2003企业版,而不要作用win7(太新了,我遇到无法启动nginx的问题)。要说的是,在windows下配置安装nginx还是很容易的,少了linux下下载tar再配置编译参数等等步骤,我们只要从下面的地址下载相应的zip包(大约750kb)即可,地址如下:
http://sysoev.ru/nginx/nginx-0.8.21.zip
需要说明的是这个下载包是nginx 0.8.21开发版,换句话说其只能用于搭建测试环境等用途的,不能用于实际的生产环境(受限于windows文件句柄数限制)。
下载并将该包中的文件解压到c盘上,为了配置使用方便,我将其解压后的文件夹名称从“nginx-0.8.19”改为"nginx”,这样我们只要将要负载均衡的站点在iis中设置好之后,将相应的链接地址放到nginx的相应配置文件中即可,这里我们打开C:\nginx\conf\nginx.conf文件,将下面的内容放到该文件的“server { ”上方行处:
server 10.0.2.137:8088;
server 10.0.2.137:8089;
}
因为nginx无法运行动态脚本,所以这里要使用proxy_pass属性进行代理,所以找到该配置文件的如下内容:
root html;
index index.html index.htm;
}
修改其内容如下:
proxy_pass http://mylocalsite;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr; ;#防止ajax安全请求问题
#proxy_set_header REMOTE-HOST $remote_addr; ;#防止ajax安全请求问题
}
修改完之后,还要修改一下server的侦听端口,原内容如下:
listen 80;
server_name localhost;
……
修改完后的内容如下:
listen 8086;
server_name 10.0.2.136;
……
这样,nginx就会在启动之后开始侦听本地IP(10.0.2.136)的8086端口请求,然后将其请求转向到mylocalsite 中所指定的两个iis站点,并将执行的结果转发给客户端。如果一切配置正确,这时可以运行 c:/nginx/nginx.exe (或在cmd下运行“start nginx”),就可以在任务管理器中看到一个nginx进程启动了。(注:如果配置文件有错误,可以到C:\nginx\logs\error.log查看错误日志,进一步排错)。
注: 关闭ngnix的命令: nginx -s stop
配置文件ngnix.conf正确性判断的命令: nginx -t
当然Nginx 负载均衡的功能也是很强的,并且其一般作为七层负载均衡(应用协议层)。下面就其upstream所支持的四个常用设置进行说明:
2)、weight :指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash :每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
按上面的说明,可以将之前我们的upstream做如下修改:
#ip_hash;
server 10.0.2.137:8088 weight=2;
server 10.0.2.137:8089 weight=1;
}
这个当来了三个http请求时,其中的两个会被分配到10.0.2.137:8088 上,一个分配到10.0.2.137:8089 。当然一开始可以其分摊的请求可以不是太严格按其设置,但当请求数多了之后,基本上就接近于我们分指派的权值了。当然就负载均衡的算法而言,使用weight只是其中的一种,而经常使用的还有许多,比如lvs就在其内部实现了多种的负载均衡算法,可以根据用户的实际环境进行设置布署。。当然就目前而言,nginx的算法相比较还是少了许多,呵呵。
可以说在windows下安装配置还是很方便的,但如果使用loadrunner做并发测试时,就会发现其logs/error.log就会报如下错误:
maximum number of descriptors supported by select() is 1024 while connecting to upstream
我曾经在网上查过解决方案,包括修改配置文件的worker_connections ,如下:
events {
#use epoll;//linux下使用
worker_connections 20240;
}
但依旧不能将文件句柄数扩充到20240,还是报1024最大句柄数错误。最后实在没办法了,只得开始尝试在linux下安装配置nginx。也就引发了下面的内容。
其实在网上有关介绍如何在linux下安装nginx的要比windows下的要多得多,必定这是‘本家’吧。
因为之前网管只在虚拟机上安装了CentOS5,所以只能就尝试在该linux分支版本下安装了。好在虚拟机已安装完了,剩下的工作并不太多。
首先需要以root身份登陆系统,然后切换身份为超级管理员:
然后进入到src目前下,并在当前目录下download nginx.tar.gz包
wget http://sysoev.ru/nginx/nginx-0.7.62.tar.gz# 下载安装包
tar xzvf nginx-0.7.62.tar.gz #解压
如果下载的nginx 中默认可能没有 rewirte规则,因此需要下载pcre包的扩展来实现这个功能:
tar xzvf pcre-7.8.tar.gz # 解压pcre
下面编译安装pcre
./configure --prefix=/usr/local/pcre --enable-utf8 --enable-unicode-properties
下面编译安装nginx
开始配置要编译的参数(注:内容较长,容易输错。具体参数设置参见http://wiki.codemongers.com/NginxChsInstall)
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --pid-path=/usr/local/nginx/var/nginx.pid --lock-path=/usr/local/nginx/var/nginx.lock --http-client-body-temp-path=/dev/shm/nginx_temp/client_body --http-proxy-temp-path=/dev/shm/nginx_temp/proxy --without-http_rewrite_module --without-http-cache --without-http_map_module --without-http_gzip_module
接下来就开始编译生成相应的文件了:
make install
然后/dev/shm 也就是内存中,建立一个nginx_temp文件夹
接着创建www用户和组,以及其使用的目录:
/usr/sbin/useradd -u 48 -g www www
mkdir -p /data0/vshare/htdocs
chmod +w /data0/vshare/htdocs
chown -R www:www /data0/vshare/htdocs
这时可以扩充一下文件句柄数(windows下就没这么容易扩展了,哎)
到这里,我们就可以使用linux下的vi编辑器编辑一下:
vi nginx.conf
将之前在window下的修改内容替换(按下insert键进入到编辑模式)到当前的文件中,当修改完成了,按冒号(":")切换到命令模式下,然后敲入“wq”,保存并退出。(强制退出(不保存)的话,输入q!,然后回车)
注:
use epoll;
worker_connections 20240;
}
注:use epoll; //linux下使用,更多内容参见NginxChsOptimizations
这样就可以运行nginx了:
启动完成后,可以通过如下指令查看其在内存中的运行信息:
# ps aux | egrep '(PID|nginx)'
这样当我们再使用loadrunner运行时,就可以看到error.log中就不再报那个恼人的“1024错误了”。
当然在nginx中,还支持文件缓存,以便于将那些静态文件缓存到本地的nginx服务器上,只不过要修改一下其config文件配置,如下:
vi nginx.conf
在文件中的相应节点处输入如下内容:
expires 7d; #设置浏览器过期时间7天
root data/nginx_cache/iis; #静态文件根目录目录(必须对应proxy_temp_path)
proxy_store on; #开启缓存机制
proxy_store_access user:rw group:rw all:rw; #缓存读写规则
proxy_temp_path data/nginx_cache/iis; #存放静态文件的缓存目录
# include proxy.conf; # 外联proxy理的详细配置如proxy_set_header, client_max_body_size .
if (!-e $request_filename) {
proxy_pass http://10.0.2.136;/
}
}
这样就会在data/nginx_cache/iis目前下生成相应的gif,jpg等文件的临时信息,当客户端请求到来时,就会从该目录中检索相应文件绑定之后返回给客户端,以减轻iis服务器和网络带宽的压力。
原文链接: http://www.cnblogs.com/daizhj/archive/2009/11/03/1595292.html
第一个附件是nginx原版服务器
第二个附件是我自己已经配置好的,可以根据自己实际需要更改配置,我的是nginx+resin
- nginx-0.8.21.zip (750.4 KB)
- 下载次数: 6
- nginx.rar (651.9 KB)
- 下载次数: 6
发表评论
-
Windows下安装并设置Redis
2017-11-28 14:23 631版权声明:欢迎加入【开源技术交流群】: https:// ... -
由于安全狗导致网站访问出现302重定向问题
2015-08-06 18:14 1706网站开始的时候,碰到这种问题,开始没留意以为是浏览器导致的。后 ... -
windows下使用memcache并修改memcache最大使用内存
2015-02-27 22:42 777将memcache服务器安装包解压到C:\memcached ... -
nginx 日志文件切割
2014-12-13 08:23 835转载:http://www.cnblogs.com/beni ... -
nginx+tomcat7+memcached做集群以及session复制
2014-12-07 22:50 745首先:配置tomcat集群 nginx+ tomcat7 ... -
Memcached入门
2014-11-27 23:17 791Memcached是一个高性能的分布式内存对象缓存系统,用于 ... -
nginx + tomcat 配置,静态资源直接使用nginx
2014-11-26 22:34 977upstream tomcat_server { ... -
Nginx Location配置总结
2014-11-26 22:33 813语法规则: location [=|~|~*|^~] /ur ... -
Memche全站缓存
2014-11-13 17:23 915http://my249645546.iteye.com/bl ... -
煩惱的“java.lang.OutOfMemoryError:PermGen space"異常
2014-11-10 20:48 674最近在做一個jee的項目 ... -
nginx+tomcat实现负载均衡
2014-11-05 22:00 934作者:niumd Blog:http://ari.itey ... -
Tomcat 7优化前及优化后的性能对比
2014-11-05 09:52 1092Tomcat 7在我们日常开发、测试、生产环境都会使用到,但 ... -
resin 加花生壳搭建外网访问服务器
2012-10-08 20:44 1079花生壳发布WEB服务 -
resin 配置session过期
2012-03-23 10:29 1506Session的配置 <session ... -
nginx 解决session共享问题(jvm-route)方式
2012-02-28 13:45 2725前几天看到 http://code.google.com ... -
nginx.conf配置详细说明
2012-02-28 09:15 1316vim conf/nginx.conf#用户 用户组user ... -
nginx 解决session共享问题
2012-02-28 09:19 14481) 不使用session,换作cookie能把sessio ... -
java.lang.NoClassDefFoundError: com/caucho/make/PersistentDependency
2012-02-28 08:09 1773之前一直用resin-pro-3.0.22,这两天由于工作需要 ... -
squid 配置缓存服务器
2011-12-31 13:40 1610Squid for Windows 简介 是大家也许不知道, ... -
window xp下,不用光驱安装IIS服务
2011-03-11 10:20 2910安装文件地址:http://hum ...
相关推荐
本文详细介绍了如何在Linux CentOS 7环境下安装Nginx、配置HTTPS以及实现负载均衡的过程。通过生成SSL证书、重新编译Nginx以添加SSL模块,以及编辑Nginx配置文件实现HTTPS支持和负载均衡功能。此外,还提供了Nginx的...
这个名为"nginx-prometheus-exporter-0.11.0-linux-386.tar.gz"的压缩包,包含了用于在32位Linux系统上运行的Nginx-Prometheus-Exporter的0.11.0版本。以下是压缩包内各个文件的作用: 1. **LICENSE**:这是项目所...
本文档主要介绍了在 Windows 平台上使用 Nginx 实现负载均衡的配置方法。虽然 Nginx 官方文档中提到 Windows 平台仅供测试之用,但是在小规模并发场景中,Nginx 仍然具有不小的优势。 首先,我们需要了解 Nginx 的...
Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明 为了多台后台的web、webservice服务能均衡负载,可以使用nginx进行处理 1)配置文件全配制ok 2)有两个完整的web服务做例子,可以...
本文将详细解析"Linux下Nginx负载均衡"这一主题,包括Nginx的基本概念、配置原理以及如何在Linux系统中设置负载均衡。 Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款邮件协议代理服务器。它的主要特点是...
Linux下nginx的安装及配置负载均衡是指在Linux操作系统中安装和配置nginx服务器,以实现负载均衡的功能。nginx是一款轻量级的Web服务器软件,支持反向代理、负载均衡、缓存等功能。 一、安装nginx 在安装nginx之前...
本文将深入探讨 ingress-nginx-controller 的核心概念、工作原理以及如何在实际环境中进行部署和配置。 一、ingress-nginx-controller 简介 ingress-nginx-controller 是 Kubernetes 社区维护的一个项目,它提供了...
1、最新版 nginx-http-flv-module(linux可执行程序,含nginx 1.19.3,http-flv-module:1.2.7) 2、内含说明文档,请下载查看。 3、请勿放置于中文路径下,否则无法启动 4、sbin/nginx -c conf/nginx.conf
Linux FastDFS-Nginx-Module 1.22 是一个专为Linux系统设计的高性能、高可用性的文件存储和分发系统,它结合了FastDFS文件服务器和Nginx网络服务器的功能,使得在Web环境中部署文件服务变得更为便捷。这个版本的模块...
**Nginx与Nginx-RTMP及Nginx-HTTP-FLV模块** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器,被广泛应用于高并发场景,尤其在处理静态文件、HTTP缓存以及反向代理等方面表现出色。Nginx以其高效的事件驱动...
nginx-1.8.0_linux Linux版0积分免费下载nginx-1.8.0_linux Linux版0积分免费下载nginx-1.8.0_linux Linux版0积分免费下载nginx-1.8.0_linux Linux版0积分免费下载nginx-1.8.0_linux Linux版0积分免费下载nginx-...
FastDFS-Nginx-Module V1.19 是一个专为Nginx设计的FastDFS扩展模块,它允许Nginx直接与FastDFS进行交互,从而实现高效的文件上传和下载服务。FastDFS是一个开源的高性能、轻量级的分布式文件系统,它对文件进行管理...
本文将详细解析如何将FastDFS的Nginx模块(fastdfs-nginx-module-1.20.zip)安装并配置到Nginx中,实现高效、稳定的服务。 首先,确保你已经安装了FastDFS和Nginx的基础环境。FastDFS提供了数据存储和文件管理的...
总之,Nginx-GUI-For-Linux-X64-v1.6.zip是一个方便的工具,它将Nginx的强大功能与图形化操作相结合,降低了使用门槛,提升了管理效率,无论是对于个人开发者还是企业运维团队,都是一个值得尝试的选择。
【负载均衡服务与Nginx】 负载均衡是网络架构中的关键组成部分,它旨在通过将流入的网络流量分发到多个服务器,以提高系统的响应速度和可用性,防止单点故障。Nginx是一款高性能的HTTP和反向代理服务器,也是邮件...
共30页第2.5篇-Nginx部分-虚拟主机配置 共12页第2.6篇-Nginx部分-反向代理和负载均衡-反向代理配置 共13页第2.6篇-Nginx部分-反向代理和负载均衡-负载均衡配置 共9页第2.7篇-Nginx部分-Rewrite功能 共29页第2.8篇-...
首先,要配置Nginx与Tomcat实现负载均衡,需要准备两个Tomcat实例,每个实例可以部署一个简单的Web项目,例如通过在页面上标注不同的端口号,以便区分它们。部署完成后,需要配置Nginx的nginx.conf文件,使其成为一...
接着是fastdfs-nginx-module-1.22,它是FastDFS与Nginx之间的桥梁。Nginx作为一款高性能的HTTP和反向代理服务器,常用于处理静态文件和分发请求。fastdfs-nginx-module是FastDFS的HTTP访问模块,通过该模块,用户...
FastDFS-nginx-module 1.24 是一个针对 FastDFS 文件系统的 Nginx 模块,它使得 Nginx 可以无缝地与 FastDFS 集成,提供了高效的文件上传、下载服务。这一版本是针对 FastDFS 的最新更新,旨在优化性能,提高稳定性...