WEB服务器负载均衡之Nginx
时间:2014-05-19 00:36 来源:linux.it.net.cn 作者:IT网
负载均衡 (Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
最近在自学负载均衡技术,网络上有不少文章,但写的都不是很明了,现把测试的笔记日记发表出来,以供大家学习使用;本文只介绍入门级的负载均衡,进阶还在学习中……
一、基础信息
操作系统:CentOS6.0
服务器:三台服务器(Load Balancing、WEB1、WEB2)
负载均衡技术:Nginx
web服务技术:apache
IP地址:Nginx 192.168.1.113、Web1 192.168.1.77、Web2 192.168.1.78
--------------------------------------------------------------------------------
二、Web服务器的安装与配置
请参考本博客的apache服务器搭建文章:http://linux.it.net.cn/CentOS/server/webserver/2014/0519/1292.html
--------------------------------------------------------------------------------
三、负载均衡服务器(Nginx)的安装与配置
3.1 安装基础支持套件
yum -y install gcc openssl openssl-devel pcre pcre-devel
3.2 安装nginx
cd
wget http://nginx.org/download/nginx-1.5.8.tar.gz
tar xzvf nginx-1.5.8.tar.gz
cd nginx-1.5.8
./cofnigure --prefix=/usr/local/nginx
make
make install
3.3 配置nginx
编辑/usr/local/nginx/conf/nginx.conf
cd /usr/local/nginx/conf/
mv nginx.conf nginx.conf.bak
vim nginx.conf
新增如下内容
user apache;
worker_processes 10;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 2048;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
tcp_nopush on;
upstream myserver {
server 192.168.1.77:80;
server 192.168.1.78:80;
}
keepalive_timeout 65;
server {
listen 80;
server_name it.net.cn;
access_log logs/myserver.access.log main;
location / {
proxy_pass http://myserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
注:红色字体部分,可根据自己的实际情况进行更改即可;
--------------------------------------------------------------------------------
四、启动Nginx
4.1 验证nginx配置是否正常
# /usr/local/nginx/sbin/nginx -t
注:返回如下内容即可,否则根据提示更改;
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
4.2 启动Nginx
# /usr/local/nginx/sbin/nginx
4.3 停止Nginx
# killall -9 nginx
4.4 DNS域名解析
有域名的同学可以上DNS服务商上进行解析设置;我是更改本地电脑hosts文件来进行测试的,编辑C:\Windows\System32\drivers\etc\hosts ,在最后一行新增如下内容:
192.168.1.113 www.it.net.cn
4.5 测试访问
打开浏览器 输入 http://www.it.net.cn 即能显示出web服务器的网站内容,停掉其中一台web服务器也不影响用户的正常使用;
(责任编辑:IT)
负载均衡 (Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 最近在自学负载均衡技术,网络上有不少文章,但写的都不是很明了,现把测试的笔记日记发表出来,以供大家学习使用;本文只介绍入门级的负载均衡,进阶还在学习中…… 一、基础信息 操作系统:CentOS6.0 服务器:三台服务器(Load Balancing、WEB1、WEB2) 负载均衡技术:Nginx web服务技术:apache IP地址:Nginx 192.168.1.113、Web1 192.168.1.77、Web2 192.168.1.78 -------------------------------------------------------------------------------- 二、Web服务器的安装与配置 请参考本博客的apache服务器搭建文章:http://linux.it.net.cn/CentOS/server/webserver/2014/0519/1292.html -------------------------------------------------------------------------------- 三、负载均衡服务器(Nginx)的安装与配置 3.1 安装基础支持套件 yum -y install gcc openssl openssl-devel pcre pcre-devel 3.2 安装nginx cd wget http://nginx.org/download/nginx-1.5.8.tar.gz tar xzvf nginx-1.5.8.tar.gz cd nginx-1.5.8 ./cofnigure --prefix=/usr/local/nginx make make install 3.3 配置nginx 编辑/usr/local/nginx/conf/nginx.conf cd /usr/local/nginx/conf/ mv nginx.conf nginx.conf.bak vim nginx.conf 新增如下内容 user apache; worker_processes 10; pid logs/nginx.pid; events { use epoll; worker_connections 2048; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; sendfile on; tcp_nopush on; upstream myserver { server 192.168.1.77:80; server 192.168.1.78:80; } keepalive_timeout 65; server { listen 80; server_name it.net.cn; access_log logs/myserver.access.log main; location / { proxy_pass http://myserver; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 注:红色字体部分,可根据自己的实际情况进行更改即可; -------------------------------------------------------------------------------- 四、启动Nginx 4.1 验证nginx配置是否正常 # /usr/local/nginx/sbin/nginx -t 注:返回如下内容即可,否则根据提示更改; nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 4.2 启动Nginx # /usr/local/nginx/sbin/nginx 4.3 停止Nginx # killall -9 nginx 4.4 DNS域名解析 有域名的同学可以上DNS服务商上进行解析设置;我是更改本地电脑hosts文件来进行测试的,编辑C:\Windows\System32\drivers\etc\hosts ,在最后一行新增如下内容: 192.168.1.113 www.it.net.cn 4.5 测试访问 打开浏览器 输入 http://www.it.net.cn 即能显示出web服务器的网站内容,停掉其中一台web服务器也不影响用户的正常使用; (责任编辑:IT) |