Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,具备占有内存少,并发能力强的特点。在高连接并发的情况下,是Apache服务器不错的替代品。
1.安装配置
1.1依赖安装
yum install pcre pcre-devel
1.2安装nginx
# 解压并进入解压目录 tar -zxvf nginx-1.9.5.tar.gz cd nginx-1.9.5 # 配置安装在默认的/usr/local目录下 ./configure # 编译安装 make && make install
1.3拷贝配置文件至/etc/nginx
cp -r /usr/local/nginx/conf/nginx.conf /etc/nginx
1.4将nginx定义为服务
# 编辑nginx启动脚本 vi /etc/init.d/nginx
输入如下Shell命令
#!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-performance web and proxy server. # It has a lot of features, but it's not for everyone. # processname: nginx # pidfile: /var/run/nginx.pid # config: /usr/local/nginx/conf/nginx.conf nginxd=/usr/local/nginx/sbin/nginx nginx_config=/etc/nginx/nginx.conf nginx_pid=/var/run/nginx.pid RETVAL=0 prog="nginx" # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x $nginxd ] || exit 0 # Start nginx daemons functions. start() { if [ -e $nginx_pid ];then echo "nginx already running...." exit 1 fi echo -n $"Starting $prog: " daemon $nginxd -c ${nginx_config} RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx return $RETVAL } # Stop nginx daemons functions. stop() { echo -n $"Stopping $prog: " killproc $nginxd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginx_pid } # reload nginx service functions. reload() { echo -n $"Reloading $prog: " #kill -HUP `cat ${nginx_pid}` killproc $nginxd -HUP RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) stop start ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|reload|status|help}" exit 1 esac exit $RETVAL
完成后可通过如下命令对nginx进行启动
service nginx start
1.5添加开机启动
vi /etc/rc.d/rc.local
添加如下配置:
# tomcat启动命令 /usr/local/tomcat/bin/startup.sh # 加载指定的配置后启动nginx /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf /usr/local/nginx/sbin/nginx
1.6测试
在浏览器中输入http://localhost,若展现出欢迎界面,则说明配置成功
二、Nginx实现Tomcat的负载均衡
2.1实现目标
目标清单:
1)210、211和212三台主机上各安装一个Tomcat,利用统一的8080接口提供服务;
2)210和211还各安装了一个Nginx,利用统一的80接口提供请求分发并实现Tomcat负载均衡的目的;
3)可利用http://192.168.31.210和http://192.168.31.211两个http地址随机访问到最底层的Tomcat,但在实际的生产环境中,对外只提供一个url地址,因此需要keepalived来提供VIP(192.168.31.200)来实现;
4)keepalived安装在210和211两台主机上,它还有一个目的就是监控本机Nginx的运行状态。例如:当210的Nginx处于不可运行状态时,keepalived将VIP飘逸到211,使211上的keepalived继续利用VIP对外提供访问入口。
2.2实现过程
2.2.1在各主机上安装Tomcat
(此处省略一千字......)
2.2.2在210和211上安装配置Nginx
安装已在第1节中实现,直接进行Nginx的配置。
vi /etc/nginx/nginx.conf
主要的配置内容如下:
worker_processes 1; # 指定error日志和pid文件的路径 error_log /data/logs/nginx/error.log; pid /var/run/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日志文件的路径 access_log /data/logs/nginx/access.log main; sendfile on; # tcp_nopush on; keepalive_timeout 65; # 定义负载组 upstream upstream1 { # 对应具体若干个Tomcat服务器的访问地址 server 192.168.31.210:8080; server 192.168.31.211:8080; server 192.168.31.212:8080; } server { listen 80; # 服务器host,不同的主机有不同的名称 server_name 192.168.31.211; # 定义根路径访问规则 location / { root html; index index.html index.htm; # 访问地址,upstream1最终会被负载组中的某个server替换成真实的地址 proxy_pass http://upstream1; 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 100m; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
由于在Nginx的启动脚本中修改了所加载的配置文件路径为/etc/nginx(默认为/usr/local/nginx/conf),因此在启动之前还需要将mime.types文件拷贝于此
cp /usr/local/nginx/conf/mime.types /etc/nginx
2.2.3重启210和211上的Nginx后测试
service nginx restart
1)输入http://192.168.31.210和http://192.168.31.211后,如果在浏览器中能呈现出Tomcat的首页,说明启动成功;
2)查看pid和日志目录,如果出现pid和access.log文件,则说明配置的文件路径有效;
3)见下图:
红框中的信息是我在tomcat首页中自己加的,反复刷新页面,如果IP地址在210 - 212之间变化,则说明Nginx的负载均衡配置成功。
相关推荐
要实现负载均衡,需要在 Nginx 服务器上配置 upstream 模块,以便将请求分配到多台 Tomcat 服务器上。具体配置如下: 1. upstream netitcast.com { server 127.0.0.1:18080 weight=1; server 127.0.0.1:28080 ...
本实例将详细阐述如何通过Nginx配置集群负载均衡,以实现动静分离,提升系统性能和稳定性。 首先,Nginx是一款轻量级的Web服务器/反向代理服务器,以其高性能、稳定性以及低内存占用著称。它能处理静态文件请求,...
Nginx 和 Tomcat 的组合常常被用来实现这样的目标,其中Nginx作为反向代理和负载均衡器,而Tomcat作为Java应用服务器。本文将深入探讨如何配置Nginx与Tomcat进行负载均衡,以提高系统的服务能力和稳定性。 首先,...
Nginx与Tomcat的负载均衡是指通过Nginx服务器来实现Tomcat集群的负载均衡,以提高系统的高性能和可扩展性。下面是实现负载均衡的详细步骤和知识点: 一、环境准备 * Nginx 1.8.0 * Apache Tomcat 6.0.33 二、目标...
本教程将详细讲解如何通过`Nginx`实现`Tomcat`集群的负载均衡,并实现`session`共享。 首先,我们要理解负载均衡的基本概念。负载均衡是通过将工作负载分散到多个计算资源,以优化资源使用、最大化吞吐量、最小化...
通过以上步骤,你可以建立起一个基本的Nginx与Tomcat负载均衡配置。这个配置不仅可以提高Web应用的可用性和响应速度,还能在单个服务器出现问题时,确保服务的连续性。随着业务的增长,可以根据需要扩展Tomcat集群,...
Keepalived + Nginx 实现高可用 Web 负载均衡配置文件,具体详情参见博文:http://blog.csdn.net/l1028386804/article/details/72801492
Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...
### Nginx与Tomcat实现负载均衡的知识点详解 #### Nginx简介及特性 Nginx是一款由Igor Sysoev开发的高性能HTTP服务器和反向代理服务器,以其出色的稳定性和低系统资源消耗而著称。最初是为俄罗斯访问量排名第二的...
### Nginx+Tomcat负载均衡配置教程 #### 一、Nginx 安装与配置 **1. 下载并安装Nginx** - **下载Nginx**:前往Nginx官方网站下载适合您操作系统的最新版本。推荐下载稳定版以确保运行稳定。 - **解压文件**:将...
在Nginx配置文件中,你可以设置upstream模块来定义后端Tomcat服务器的列表和负载均衡策略。 2. 安装Tomcat:部署多个Tomcat实例,每个实例运行在不同的端口上,以处理来自Nginx的请求。 3. 安装keepalived:解压`...
本篇文章将详细讲解如何使用Nginx作为反向代理服务器来实现对Tomcat应用服务器的负载均衡和集群配置。 首先,我们需要理解Nginx和Tomcat的角色。Nginx是一款高性能的HTTP和反向代理服务器,常用于处理静态内容和...
**一、Nginx配置负载均衡** 1. **安装Nginx**: 在所有支持的平台上(如Ubuntu、CentOS等),都可以通过包管理器安装Nginx。 2. **配置负载均衡**: 在Nginx的配置文件`nginx.conf`或其包含的虚拟主机配置文件中,...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"**Nginx+Tomcat配置集群负载均衡**"就是实现这一目标的一种常见方案。Nginx是一款高性能的反向代理服务器,常用于处理静态资源和进行负载均衡;Tomcat则是...
总之,"nginx+tomcat实现负载均衡1"的学习将涵盖Nginx的基本操作、负载均衡配置、与Tomcat的集成以及高可用性的实现,这些都是构建高性能Web服务的关键技术。通过这些知识,开发者可以设计出更健壮、高效的分布式...
5. 配置 Nginx,以实现双 Tomcat 负载均衡: 在 nginx.conf 文件中添加以下配置: ```bash http { upstream tomcat { ip_hash; server localhost:8080; server localhost:8081; } server { listen 80; ...
首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把自己成功的方法拿出来与大家分享。 ...
总结来说,"nginx+tomcat 负载均衡简易配置与动静分离"是通过Nginx作为反向代理,结合Tomcat应用服务器,实现静态内容和动态请求的分离处理,以及请求的负载均衡,从而达到高可用、高性能的Web服务架构。
Linux下nginx的安装及配置负载均衡是指在Linux操作系统中安装和配置nginx服务器,以实现负载均衡的功能。nginx是一款轻量级的Web服务器软件,支持反向代理、负载均衡、缓存等功能。 一、安装nginx 在安装nginx之前...
本文将深入探讨如何利用`nginx`和`tomcat`实现负载均衡,以提升系统性能和稳定性。 首先,我们需要理解负载均衡的基本概念。负载均衡是指通过将工作负载分布到多个计算资源(如服务器)来避免过载,确保服务的高...