crazyjingling 2017-08-01
问题记载:
1.在配置Tomcat集群失效时,配置Nginx跳转有问题
参考文件:
Nginx原理理论部分详解 : http://blog.csdn.net/wave_1102/article/details/44479321
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解:http://blog.csdn.net/wave_1102/article/details/44479175
大纲
一、前言
二、环境准备
三、安装与配置Nginx
四、Nginx之反向代理
五、Nginx之负载均衡
六、Nginx之页面缓存
七、Nginx之URL重写
八、Nginx之读写分离
注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm
在前面的几篇博文中,我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有
(1) nginx的理论详解、(2) nginx作为web服务器的操作讲解、(3) nginx作为LNMP架构的讲解,不清楚的博友可以回头看看,
在这一篇博客中我们主要讲解:
(1) nginx的(1)反向代理、(2) 负载均衡、(3) 缓存、(4) URL重写以及(5) 读写分离详解
说明:这里为测试功能需要同时安装了2台,且后面需要使用nginx作为反向代理服务器和负载均衡器,所有名称用 edu-proxy-xx
1.操作系统
CentOS 6.4 x86_64(CentOS 6.6 x86_64)
2.主机名配置
hostname "edu-proxy-01"
vi /etc/sysconfig/network
HOSTNAME=edu-proxy-01
vi /etc/hosts
127.0.0.1 edu-proxy-01 localhost
hostname "edu-proxy-02"
vi /etc/sysconfig/network
HOSTNAME=edu-proxy-02
vi /etc/hosts
127.0.0.1 edu-proxy-02 localhost
3. 软件版本 Nginx 1.4.2 (Nginx 1.10.0)
我的规划:edu-proxy-01 edu-proxy-02
4. 实验拓扑
注,实验拓扑见下文。
说明:(没有参考原文,参考的是"Nginx + keepalived 实现web的高可用负载均衡"中Nginx的安装部分,如下)
安装的路径为:/usr/local/nginx
1.安装编译 Nginx 所需的依赖包
# yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
2.上传 Nginx(nginx-1.6.2.tar.gz)到 /usr/local/src 目录
3、编译安装 Nginx
# cd /usr/local/src/ # tar -zxvf nginx-1.6.2.tar.gz # cd nginx-1.6.2 # ./configure --prefix=/usr/local/nginx # make && make install
# vi /usr/local/nginx/conf/nginx.conf
user root;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
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;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 88;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
} 注:用于后面测试,用于区分两个节点的 Nginx
# vi /usr/local/nginx/html/index.html
172.21.10.218 中的标题加 1 <h1>Welcome to nginx! 1</h1> 172.21.10.220 中的标题加 2 <h1>Welcome to nginx! 2</h1>
# chkconfig iptables on # service iptables start # vi /etc/sysconfig/iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter ## Nginx -A INPUT -m state --state NEW -m tcp -p tcp --dport 88 -j ACCEPT COMMIT 重启防火墙: # service iptables restart 查看防火墙端口状态: # service iptables status
# /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
启动 # /usr/local/nginx/sbin/nginx & tail -f /usr/local/nginx/logs/error.log 重启 Nginx # /usr/local/nginx/sbin/nginx -s reload & tail -f /usr/local/nginx/logs/error.log