- 浏览: 293162 次
文章分类
- 全部博客 (148)
- Shell (2)
- Python (4)
- Java (31)
- Javascript (4)
- Android (7)
- SQL优化 (0)
- Linux (5)
- webOS (4)
- MySQL (18)
- memcach redis (1)
- memcach (0)
- redis (3)
- memcache (2)
- svn (1)
- UED (1)
- 网络 (1)
- virtual box (1)
- git (1)
- Gitosis (1)
- 云计算 (2)
- 12306 (1)
- google (1)
- spdy (1)
- nginx (1)
- tomcat (2)
- SSL (2)
- lucene (2)
- 空间搜索 (1)
- lzo (1)
- 数据压缩 (1)
- ios (1)
- maven (1)
- elasticsearch (1)
- scribe (1)
- flume (1)
- jni (1)
- jna (1)
- hadoop (2)
- 大数据 (1)
最新评论
-
aa80303857:
不错,学习了。互相关注一下。
Sitemesh学习笔记 -
xiaozang:
...
关于nginx的rewrite重写规则 -
coderuncle:
楼主有没有研究过cloudera flume和apache f ...
scribe,flume -
奔跑的犀牛:
...
linux下自动启动mysql -
lsn_1212:
网上装svn的资源太多了,这个挺好的,说的挺全的。
SVN Server安装部署攻略(Linux+SubVersion+Apache)
一、 1、将tomcat 的server.xml文件中所有端口号都改为不同。 server {} 修改信息: #charset koi8-r; 例: events { upstream localhost { sendfile on; keepalive_timeout 65; server { location /{ error_page 500 502 503 504 /50x.html; }} 参数描述 检测nginx配置文件是否正确 -g Set global directives. (version >=0.7.4) -t 检测文件是否正确不执行 -v Print version. -V Print nginx version, compiler version and configure parameters. 编译时如果使用了–with-debug编译,还可以使用error_log file [ debug_core| debug_http | debug_event …] 来获得debug信息 通过信号对 Nginx 进行控制 Nginx 支持下表中的信号: 信号名 作用描述 有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX <pid> 来控制 Nginx,其中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 重新加载配置。 配置: use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];FreeBSD使用kqueue,Linux选epoll. nginx的upstream目前支持4种方式的分配 1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 2、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 3、fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。 4、url_hash(第三方) 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 代理 负载均衡: 每个设备的状态设置为: nginx支持同时设置多组的负载均衡,用来给不用的server来使用。 client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡 FASTCGI配置: 请将以下内容保存为fastcgi_params文件,保存于/usr/local/nginx/conf下(Ubuntu可保存于/etc/nginx下),他为我们的FastCGI模块设置了基本的环境变量: #fastcgi_params 另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位于/etc/php5/cgi/php.ini)中,打开cgi.fix_pathinfo选项: cgi.fix_pathinfo=1;这样php-cgi方能正常使用SCRIPT_FILENAME这个变量。 接下来在nginx的配置中针对php文件配置其利用FastCGI进程来执行: server { location ~ .*.php$ { kill -HUP `cat /usr/local/nginx/logs/nginx.pid`Ubuntu用户可以使用init脚本:sudo /etc/init.d/nginx reload 然后启动php-cgi -b 127.0.0.1:9000 如果出现No input file specified表示SCRIPT_FILENAME设置的有问题。 get http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2 #获取Lighttpd的源码包 /usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi参数含义如下 -f <fcgiapp> 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置
2、Nginx 的nginx.conf文件中
http {}增加如下内容
upstream sp.imichat.com{
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:8088 weight=2;
ip_hash;
}
listen 80;
server_name sp.imichat.com;
#access_log logs/host_access_log main;
location /{
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;
proxy_pass http://sp.imichat.com;
}
#user nobody;
worker_processes 1;
worker_connections 51024;
}
http {
include mime.types;
default_type application/octet-stream;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:8088 weight=2;
ip_hash;
}
listen 80;
server_name localhost;
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;
proxy_pass http://localhost;
}
location = /50x.html {
root html;
}
二、
/usr/local/nginx/sbin/nginx -t -c nginx.conf
-c 配置文件路径
TERM, INT 快速关闭程序,中止当前正在处理的请求
QUIT 处理完当前请求后,关闭程序
HUP 重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求
USR1 重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程
worker_connections number 每个worker的最大连接数
Maxclient = work_processes * worker_connections
只需要在nginx的配置文件中增加虚拟主机,然后加入
\proxy_pass http://localhost:8000;
只需要在http中增加
upstream tgcluster {#定义负载均衡设备的Ip及设备状态
ip_hash;
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要使用负载均衡的server中增加
proxy_pass http://tgcluster/;
1.down 表示单前的server暂时不参与负载
2.weight 默认为1.weight越大,负载的权重就越大。
3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4.fail_timeout:max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
client_body_temp_path 设置记录文件的目录 可以设置最多3层目录
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;请特别注意加粗的一行,PHP-CGI特别需要此行信息来确定PHP文件的位置。
index index.php;
root /usr/local/nginx/html;
include /usr/local/nginx/conf/fastcgi_params; #请根据自己保存的路径进行设置
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000; #请根据自己的FastCGI绑定的地址和端口进行配置
}
}通知Nginx重新载入配置:
使用lighttpd的 spawn-fcgi
tar -xvjf lighttpd-1.4.18.tar.bz2
cd lighttpd-1.4.18
./configure #编译
make
cp src/spawn-fcgi /usr/local/bin/spawn-fcgi #取出spawn-fcgi的程序下面我们就可以使用 spawn-fcgi 来控制php-cgi的FastCGI进程了
-a <addr> 绑定到地址addr
-p <port> 绑定到端口port
-s <path> 绑定到unix socket的路径path
-C <childs> 指定产生的FastCGI的进程数,默认为5(仅用于PHP)
-P <path> 指定产生的进程的PID文件路径
-u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等
user nobody nobody;
#启动进程
worker_processes 2;
#全局错误日志及PID文件
error_log logs/error.log notice;
pid logs/nginx.pid;
#工作模式及连接数上限
events {
use epoll;
worker_connections 1024;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型
include conf/mime.types;
default_type application/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_buffers 4 4k;
#开启gzip模块
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 1 32k;
postpone_output 1460;
#设定access log
access_log logs/access.log main;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
#设定负载均衡的服务器列表
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的Squid开启3128端口
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80 weight=1;
server 192.168.8.3:80 weight=6;
}
#设定虚拟主机
server {
listen 80;
server_name 192.168.8.1 www.yejr.com;
charset gb2312;
#设定本虚拟主机的访问日志
access_log logs/www.yejr.com.access.log main;
#如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid
#如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好
location ~ ^/(img|js|css)/ {
root /data3/Html;
expires 24h;
}
发表评论
-
Spring发送邮件。
2013-06-04 15:15 1187Spring邮件抽象层的主要包为org.springfram ... -
JNA—JNI终结者
2013-03-04 14:08 1428JNA— http://blog.csdn.n ... -
Java 压缩实现
2013-01-29 10:51 1047Java压缩技术(一) ZLib Java压缩技术(二) ZI ... -
深入理解JVM内幕:从基本结构到Java 7新特性
2013-01-26 22:57 879原文链接 http://www.importnew.com/ ... -
使用logback轻松管理日志
2013-01-22 14:12 2285最近才开始在项目中使用logback,有一种相见恨晚的感觉, ... -
SSL双向认证java实现
2013-01-09 13:58 1188本文通过模拟场景,介绍SSL双向认证的java实现 默认的情 ... -
TOMCAT-SSL双向认证-配置实例
2013-01-09 13:54 1122SSL (Secure Socket Layer - 安全套接 ... -
Java入门-简单的RMI示例
2012-12-06 11:11 1245RMI是一种分布式技术,使用RMI可以让一个虚拟机上的应 ... -
Java入门-BitSet的使用
2012-12-06 11:01 9499在使用PAT-Tree的中文实现中需要用到大量的位运算, ... -
由12306.cn谈谈网站性能技术
2012-10-17 16:35 96612306.cn网站挂了,被 ... -
Server redirected too many times
2012-09-17 16:54 6053我之前遇到过这种问题,有些网站是这样的,他判断cooki ... -
java并发编程
2012-08-15 19:45 0Queue BlockingQueue Con ... -
在junit中使用open session in view
2012-08-07 11:22 2106废话不多说直接上代码: jpa的 import ... -
mvn指定项目名称
2012-06-07 17:10 988call mvn eclipse:clean eclipse: ... -
在JVM关闭前想做的操作Rumtime
2011-12-01 11:07 1107在虚拟机被关闭前想做一些收尾工作,可以使用 Runtim ... -
Apache和Subversion集成安装与配置
2011-08-12 17:30 1179要准备的东西如下:1,apac ... -
SVN Server安装部署攻略(Linux+SubVersion+Apache)
2011-07-18 18:45 2740一. 安装apr依赖库(Apache Po ... -
git
2011-05-26 11:38 12641. git init 2. cd - 快速返回 3 ... -
java工具集合
2011-05-23 17:29 896code review gerrit g ... -
常用的comet框架
2011-05-20 11:46 1378Atmosphere pushlet DWR comet ...
相关推荐
这个“Windows+Nginx+Tomcat做负载均衡同时实现session共享Demo”提供了一个具体的实现方案。 首先,Nginx是一款高性能的反向代理服务器,它可以通过配置将用户的HTTP请求分发到多个后端服务器,即Tomcat实例,从而...
配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多台服务器上部署Tomcat,形成一个集群,确保服务的高可用性。每台服务器上的Tomcat实例都需要配置相同的应用,以处理相同类型的请求。 接...
nginx+tomcat实现负载均衡,共享session的两种方式: 1.使用Redis共享session 2.使用tomcat的组播功能。
Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...
"Nginx+Tomcat 负载均衡 3分钟搞定" 本文将从以下几个方面详细介绍 Nginx+Tomcat 实现负载均衡的知识点: 一、负载均衡的概念和优势 负载均衡(Load Balancing)是指在多台服务器之间分配工作负载,以提高响应...
Nginx+Tomcat负载均衡企业实战.docx 本文档主要介绍了 Nginx+Tomcat 负载均衡的企业实战,涵盖了从0开始构建 Nginx WEB 平台、Tomcat WEB 集群、代码发布、Nginx 负载均衡 Tomcat 集群、动静分离、Rewrite 实战等...
Nginx+Tomcat搭建负载均衡,实现网站请求的分发 Nginx+Tomcat搭建负载均衡是实现网站请求的分发的常见解决方案。以下是该解决方案的详细知识点说明: 一、负载均衡的概念 负载均衡是指将网络请求分配到多个服务器...
在构建高性能、高可用性的Web应用系统时,"nginx+tomcat7负载均衡+redis缓存session"是一种常见的架构模式。这种模式结合了Nginx的反向代理和负载均衡能力,Tomcat作为Java应用服务器处理业务逻辑,而Redis则用于...
"Linux 下的 Nginx+Tomcat 负载均衡简单原理" Linux 下的 Nginx+Tomcat 负载均衡简单原理是指通过 Nginx 服务器来实现 Tomcat 服务器集群的负载均衡,以提高网站的可用性和性能。本文将对 Linux 下的 Nginx+Tomcat ...
**Nginx + Tomcat 负载均衡配置详解** 在现代互联网应用中,服务器的高可用性和性能优化是至关重要的。Nginx 和 Tomcat 的组合常常被用来实现这样的目标,其中Nginx作为反向代理和负载均衡器,而Tomcat作为Java应用...
首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把自己成功的方法拿出来与大家分享。 ...
本篇将详细讲解如何在Nginx+Tomcat+Redis环境中实现负载均衡,并讨论session管理的关键知识点。 首先,Nginx是一个强大的HTTP和反向代理服务器,它能够通过分发请求到多个后端服务器来实现负载均衡。Nginx支持多种...
`Nginx`作为一款高性能的反向代理服务器,常被用于负载均衡,而`Tomcat`则是一款广泛使用的Java应用服务器,尤其适合处理Servlet和JSP应用。本教程将详细讲解如何通过`Nginx`实现`Tomcat`集群的负载均衡,并实现`...
在构建高性能、高可用性的Web服务时,使用Nginx+keepalived+tomcat的组合可以实现强大的负载均衡和故障转移功能。这个方案的核心思想是利用Nginx作为前端反向代理服务器,通过keepalived来确保服务的高可用性,并将...
- **负载均衡**:Nginx可以基于多种策略(如轮询、最少连接、IP哈希等)分配请求到不同的Tomcat实例,从而实现负载均衡,提高系统的可用性和响应速度。 - **静态资源处理**:Nginx对静态文件(如CSS、JavaScript、...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx+tomcat实现负载均衡1"的主题就是探讨如何通过Nginx反向代理和Tomcat应用服务器结合,来提升系统的性能和稳定性。这一组合是业界常用的一种架构模式,...
【Nginx+Tomcat在Windows下做负载均衡】 负载均衡是一种网络技术,它通过将流入的网络流量分发到多个服务器,以提高服务的可用性和响应速度,防止单个服务器过载。在这个场景中,Tomcat作为Java应用服务器,由于...
在构建高性能、高可用性的Web服务时,"nginx+tomcat实现负载均衡"是一个常见的解决方案。这个架构结合了Nginx的反向代理和负载均衡能力与Tomcat的强大应用服务器功能,可以有效地处理高流量和复杂的Web应用程序。...
Windows+Nginx+Memcached+Tomcat6负载均衡
这个架构利用Nginx作为反向代理和负载均衡器,Tomcat作为Java应用服务器处理业务逻辑,而Redis则用作缓存系统以提升数据访问速度。下面我们将详细探讨这些组件的作用及其在集群环境中的配置与协同工作。 **Nginx** ...