Nginx的安装
tar -zxvf pcre-8.30.tar.gz
cd pcre-8.30
ntpdate time.windows.com
./configure
make
make install
groupadd www
useradd www -g www
yum install -y openssl-devel
tar -zxvf nginx-1.2.0.tar.gz
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make
make install
NGINX 配置文件
user www www;
worker_processes 8;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
server
{
listen 80;
server_name 192.168.88.145;
root /usr/local/nginx/html;
index index.html index.htm index.php index.jsp index.do;
location ~ \.(jsp|jspdx|do)?$ { #所有的jsp页面转交由tomcat处理
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:8080; #转向tomcat处理
}
Location~ .*\.(htm|html|gif|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ { #设置静态网页直接由nginx进行处理
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 1h;
}
log_format access '$remote_addr - $remote_user [$time_local] "$request"'
'$status $body_bytes_sent "$http_referer"'
'"$http_user_agent" $http_x_forwarded_for';
access_log /data/logs/access.log access;
}
}
与tomcat整合:
软件包:
jdk-7-linux-i586-rpm.bin
apr-util-1.3.12.tar.gz
apache-tomcat-7.0.27.tar.gz
apr-1.4.5.tar.gz
tar –zxvf apr-1.4.5.tar.gz
cd apr-1.4.5
./configur
Make
Make install
Tar –zxvf apr-util-1.3.12.tar.gz
./configure --with-apr=/usr/local/apr
Make
Make install
./ jdk-7-linux-i586-rpm.bin
Rpm –ivh jdk-7-linux-i586-rpm
Tar –zxvf apache-tomcat-7.0.27.tar.gz
cp –a apache-tomcat-7.0.27 /usr/local/tomcat
vi /etc/profile
在最后加:
export JAVA_HOME="/usr/java/jdk1.7.0/"
export PATH="$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin"
export CLASSPATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
export CATALINA_HOME="/usr/local/tomcat"
保存退出
export /etc/profile
Tomcat配置文件
找到下面内容,并改成
unpackWARs="true" autoDeploy="true"> 然后直接访问:http://192.168.88.145/jsp.jsp,就可以看到jsp网页了 httpd负载均衡 准备: 1:Apache,下载后直接安装,安装完成后能够访问本地http://localhost/,代表安装完成。此次使用Apache2.2版本。 2:Tomcat,下载后直接安装,安装完成后能够访问本地http://localhost:8080,代表安装完成。此次使用Tomcat6.0版本。 3:JK,Apache/IIS 用来连接后台Tomcat的模块,支持集群和负载均衡。此次使用mod_jk-1.2.31-httpd-2.2.3.so版本。 方法一:----------------------------------------------------- 配置Apache: 1:修改httpd.conf 我的安装路径:E:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 在最后加上Include conf/mod_jk.conf 2:新建mod_jk.conf 在conf目录下新建mod_jk.conf配置文件,内容如下: [plain] view plaincopy # Load mod_jk module # Update this path to match your modules location LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so # Where to find workers.properties # Update this path to match your conf directory location (put workers.properties next to httpd.conf) JkWorkersFile conf/workers.properties # Where to put jk shared memory # Update this path to match your local state directory or logs directory JkShmFile logs/mod_jk.shm # Where to put jk logs # Update this path to match your logs directory location (put mod_jk.log next to access_log) JkLogFile logs/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the timestamp log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # Send everything for context /examples to worker named worker1 (ajp13) JkMount /* controller 3:新建workers.properties配置文件,内容如下: [plain] view plaincopy #server worker.list = controller #========tomcat1======== worker.tomcat1.port=8009 worker.tomcat1.host=172.23.49.131 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 # Define preferred failover node for tomcat1 #worker.tomcat1.redirect=tomcat2##如果tomcat1宕机,则把请求叫给tomcat2处理 #========tomcat2======== worker.tomcat2.port=9009 worker.tomcat2.host=127.0.0.1 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 # Disable tomcat2for all requests except failover #worker.tomcat2.activation=disabled ##当tomcat1正常工作时,tomcat2”休息“ #========controller,负载均衡控制器======== worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 worker.controller.sticky_session=false worker.controller.sticky_session_force=1 #worker.controller.sticky_session=1 4:添加文件 将刚才下载的mod_jk-1.2.31-httpd-2.2.3.so复制到E:\Program Files\Apache Software Foundation\Apache2.2\modules目录下。 到这里Apache的配置基本完成———————————————————————————————————————— 配置Tomcat: 1:将刚才下载的tomcat复制两份apache-tomcat-01,apache-tomcat-02。 假如2个tomcat在同一机器上,我们需要修改部分端口。打开apache-tomcat-02的conf目录下的server.xml。 2:修改tomcat02的shutDown端口为9005,tomcat01保持8005不变。 3:修改tomcat02的Connector端口为9080,tomcat01保持8080不变。 4:修改AJP/1,3的端口为9009,tomcat01保持8009不变。 5:修改 6:启用 到这里Tomcat的配置基本完成———————————————————————————————————————— 方法二:----------------------------------------------------- 配置Apache: 1:修改httpd.conf 我的安装路径:E:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 在最后加上: [plain] view plaincopy ProxyRequests Off ProxyPass / balancer://abc/ stickysession=jsessionid nofailover=On BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=tomcat1 BalancerMember ajp://localhost:9009 loadfactor=1 route=tomcat2 配置Tomcat: 同方法一 到这里配置基本完成———————————————————————————————————————— 测试成果: 在tomcat01和tomcat02的webapps中添分别加文件夹test,在test下添加文件夹WEB-INF和test.jsp,在WEB-INF中添加web.xml配置文件。 web.xml配置文件内容如下: [plain] view plaincopy test.jsp配置如下: [plain] view plaincopy <%@ page contentType="text/html; charset=GBK" %> <%@ page import="java.util.*" %>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"
");%>
<%
out.println("
ID " + session.getId()+"
");
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("Session 列表");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"
");
System.out.println( name + " = " + value);
}
%>
到这里测试内容配置基本完成
访问地址http://127.0.0.1/test/test.jsp,显示页面
F5刷新页面后
多次刷新页面,其中sessionID为同一个id,说明session已经实现复制。
输入内容查看
F5刷新页面
可以发现复制session的同时,session中的变量也同时被复制。