实验介绍 Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多 此次应用Nginx实现多台web服务器的简单负载均衡,直观了解负载均衡的工作原理 实验架构如下图
第一步:搭建实验环境 centos6.0(64位),nginx-0.7.51 ,httpd-2.2.15 主Nginx:192.168.5.221 备Nginx:192.168.5.222(此次未涉及keepalived,故没有备份Nginx) Web1服务器:192.168.5.225 Web2服务器:192.168.5.226
第二步:安装Nginx负载均衡器及相关配置脚本(主Nginx)先安装Nginx负载均衡器,nginx负载的配置就用一般的模板来配置了
点击(此处)折叠或打开
- groupadd www
- useradd -g www www
- wget http://ftp.exim.llorien.org/pcre/pcre-7.8.tar.gz
- tar zxvf pcre-7.8.tar.gz
- cd pcre-7.8/
- ./configure
- make && make install
- wget http://sysoev.ru/nginx/nginx-0.7.51.tar.gz
- tar zxvf nginx-0.7.51.tar.gz
- cd nginx-0.7.51/
- ./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
- make && make install
- 配置nginx负载均衡器的配置文件vim /usr/local/nginx/conf/nginx.conf
- user www www;
- worker_processes 10;
- #error_log logs/error.log;
- #error_log logs/error.log notice;
- #error_log logs/error.log info;
- #pid logs/nginx.pid;
- #最大文件描述符
- worker_rlimit_nofile 51200;
- events
- {
- use epoll;
- worker_connections 51200;
- }
- http
- {
- include mime.types;
- default_type application/octet-stream;
- keepalive_timeout 120;
- tcp_nodelay on;
- upstream www.dylan0718.org
- {
- server 192.168.5.225:80;
- server 192.168.5.226:80;
- }
- server
- {
- listen 80;
- server_name localhost;
- location / {
- proxy_pass http://www.dylan0718.org;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- log_format www_dylan0718_org '$remote_addr - $remote_user [$time_local] $request '
- '"$status" $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
- access_log /var/log/www.log www_dylan0718_org;
- }
- }
第三步:web服务器配置(web1,web2)最小化安装两台centos6.0 server 安装http包 然后分别在web1,web2的/var/www/html/目录 分别写入index.html 并在里面分别标记出web1和web2
第四步:启动服务启动主Nginx的服务进程 并启动web1,web2的httpd服务 在浏览器输入Nginx入口地址重复刷新便会交替web1,web2的主页 观察到了真实的服务器地址
|