web负载均衡与反向代理之nginx.doc_第1页
web负载均衡与反向代理之nginx.doc_第2页
web负载均衡与反向代理之nginx.doc_第3页
web负载均衡与反向代理之nginx.doc_第4页
web负载均衡与反向代理之nginx.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

web负载均衡与反向代理之nginx来源: ChinaUnix博客 日期: 2007.09.18 12:28(共有条评论) 我要评论 时间:2007-9-18Blog:说明:Nginx发音为engine x,是由俄罗斯人IgorSysoev建立的项目,基于BSD许可。据说他当初是F5的成员之一,英文主页:。俄罗斯的一些大网站已经使用它超过两年多了,一直表现不凡。使用Apache运行PHP或Rails产生动态内容,而用Nginx作为前台反向代理(反向代理又称为服务器加速Serveraccelerate),原理是将用户的请求转发到目标服务器,然后将结果转发给用户。这样可以保护目标服务器安全、负载均衡容易实现、有点类似防火墙)测试环境:IP主机为:07操作系统:RHEL AS4所需软件:文件:nginx-0.5.17.tar.gz大小:452KB下载:下载文件:pcre-7.0.tar.bz2大小:593KB下载:下载安装步骤:解压:#cp nginx-0.5.17.tar.gz /root#cd /root;tar xvfz nginx-0.5.17.tar.gzNginx的编译参数如下:rootlocalhost#./configure -prefix=/usr/local/nginx-with-openssl=/usr/include -with-pcre=/usr/include/pcre/ -with-http_stub_status_module-without-http_memcached_module -without-http_fastcgi_module -without-http_rewrite_module-without-http_map_module -without-http_geo_module -without-http_autoindex_module在这里,需要说明一下,由于Nginx的配置文件中要用到正则,所以需要 pcre模块的支持。我已经安装了 pcre 及 pcre-devel 的rpm包,但是 ngxin 并不能正确找到.h/.so/.a/.la 文件,因此我做了如下变通:rootlocalhost#mkdir /usr/include/pcre/.libs/rootlocalhost#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.arootlocalhost#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.la然后:#cd /root/nginx-0.5.17#vi objs/Makefile(大概在908行的位置上,注释掉以下内容:)./configure -disable-shared接下来:#make & make install2.) 修改配置文件 /usr/local/nginx/conf/nginx.conf以下是我的 nginx.conf 内容,仅供参考:#运行用户usernobody nobody;#启动进程worker_processes2;#全局错误日志及PID文件error_loglogs/error.log notice;pid logs/nginx.pid;#工作模式及连接数上限events use epoll; worker_connections 1024;#设定http服务器,利用它的反向代理功能提供负载均衡支持http #设定mime类型 include conf/mime.types; default_typeapplication/octet-stream; #设定日志格式 log_format main $remote_addr - $remote_user $time_local $request $status$bytes_sent $http_referer$http_user_agent $gzip_ratio; log_format download $remote_addr - $remote_user $time_local $request $status$bytes_sent $http_referer$http_user_agent $http_range$sent_http_content_range; #设定请求缓冲 client_header_buffer_size 1k; large_client_header_buffers4 4k; #开启gzip模块 gzip on; gzip_min_length1100; gzip_buffers 4 8k; gzip_types text/plain; output_buffers 1 32k; postpone_output1460; #设定access log access_loglogs/access.logmain; client_header_timeout3m; client_body_timeout 3m; send_timeout 3m; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout65; #设定负载均衡的服务器列表 upstream mysvr #weigth参数表示权值,权值越高被分配到的几率越大 #本机上的Squid开启3128端口 #server 07:3128 weight=5;若加此句,则要启动squid server 01:80 weight=1; server 11:80 weight=6; #设定虚拟主机 server listen 80; server_name 07 ; charset gb2312; #设定本虚拟主机的访问日志 access_loglogs/.access.logmain; #如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid #如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好 #location /(img|js|css)/ # root /data3/Html; # expires 24h; # #对 / 启用负载均衡 location / proxy_pass http:/mysvr;(此处指定上述upstream的命名) proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP$remote_addr; proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; #设定查看Nginx状态的地址 location /NginxStatus stub_status on; access_log on; auth_basic NginxStatus; auth_basic_user_fileconf/htpasswd; 运行以下命令检测配置文件是否无误:#/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf如下结果则为正确:2007/04/17 13:33:59 info 27677#0: the configuration file conf/nginx.conf syntax is ok2007/04/17 13:33:59 info 27677#0: the configuration file conf/nginx.conf was tested successfully若以上没报错,则可以运行以下命令启动nginx,在运行以下命令前要保证httpd不是监听80端口,否则nginx启动不了:#/usr/local/nginx/sbin/nginx-c /usr/local/nginx/conf/nginx.conf检查ngins进程是否启动:#ps aux|grep nginx|grep -v grep(若看到如下几个进程,就已经启动OK,若无则要检查配置)root 27820.00.33444856 ?Ss12:26 0:00 nginx: master process/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confnobody 27830.00.43704 1208 ?S 12:26 0:00 nginx: worker process nobody 27840.00.53832 1344 ?S 12:26 0:00 nginx: worker process给nginxstatus做身份验证:#cd /usr/local/nginx/conf#mkdir htpasswd#htpasswd -c conf/htpasswd ldwNew password: (此处输入你的密码)Re-type new password: (再次输入你的密码)Adding password for user ldw查看nginxstatus:07/nginxstatus/,输入验证帐号密码,即可看到类似如下内容:Active connections: 328server accepts handled requests9309 8982 28890Reading: 1 Writing: 3 Waiting: 324第一行表示目前活跃的连接数第三行的第三个数字表示Nginx运行到当前时间接受到的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论