tomcat应用

web服务器
  web服务器是安装在服务端主机上实现了http协议的软件,也叫http服务器,如微软的IIS,当前排名第一开源免费的Apache(个人认为,凡是实现了应用层协议的软件都可以叫web服务器,如ftp服务器,smtp服务器,只不过我目前只关心http服务)。 
  必备的功能是对某个端口(通常是80端口)循环监听,被动接受客户端发送到该端口的http请求,并进行响应。 
  根据这个原理,我们可以自己编写web服务器,如socket编程。若客户端使用http协议,如浏览器,那我们必须根据应用层的http协议来自己解析和封装要交互的数据。 
  通常B/S架构的开发,即web开发,必须使用http协议,因为B是已经实现的浏览器,必使用http协议。 
  通常C/S架构的开发,都是在传输层直接交互数据,无需再封装数据为http格式,因为客户端和服务端都是我们自己做,我们自己定义数据格式。

Tomcat服务器
  通常意义上的web服务器接受请求后,只是单纯地响应静态资源,如html文件,图片文件等,不能在后端进行一定的处理操作。 
  Tomcat是Apache下的一个子项目,它具备web服务器的所有功能,不仅可以监听接受请求并响应静态资源,而且可以在后端运行特定规范的java代码servlet,同时将执行的结果以html代码的形式写回客户端。 
  Tomcat由一系列的组件构成,其中核心的组件有三个: 
  web容器——完成web服务器的功能。 
  servlet容器——名字为catalina,用于处理servlet代码。 
  jsp容器——用于将jsp动态网页翻译成servlet代码。

Tomcat的目录
  bin:主要存放启动和配置Tomcat服务器的可执行文件。 
  conf:存放Tomcat服务器的全局配置文件。 
  lib:存放Tomcat服务器运行以及部署在Tomcat服务器上的web项目运行所需要的jar包,该目录下的内容被全部该服务器上的web项目共享。 
  logs: 
  temp: 
  webapps:存放部署在Tomcat服务器上的web项目,该目录可以改变。 
  work:工作目录,存放web项目运行时生成的过渡资源。 
  LICENSE:协议内容。 
  NOTICE:注意事项。 
  RELEASE-NOTES:当前版本的注意事项。 
  RUNNING.txt:Tomcat的下载、安装、环境配置以及运行等等的流程详细介绍。

脚本语言
  脚本语言的特点是不能单独运行,必须嵌入到其它语言才能运行,如网页脚本必须嵌入到html代码。有的脚本语言是在前端运行的,如javascript,有的脚本语言是在后端运行的,如php、jsp、asp,通常称后端运行的脚本为动态脚本语言,相应的网页称为动态网页。动态网页被翻译成静态html页写回到客户端。
 

###############tomcat-->java

tomcat用来处理动态页面  nginx处理静态效率低


tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
tar zxf apache-tomcat-7.0.37.tar.gz  -C /usr/local
cd /usr/local/
ln -s jdk1.7.0_79/ java
ln -s apache-tomcat-7.0.37/ tomcat

 


vim /etc/profile
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

vim test.java
public class test {
    public static void main(String[] args)
    {
        System.out.println("Hello World");    
    }
}
测试
javac test.java
java test


vim /usr/local/openresty/nginx/conf/nginx.conf
修改  

http {
    upstream tomcat {
        server 172.25.11.1:8080;
        server 172.25.11.3:8080;
    }


76行
location ~ \.jsp$ {
    proxy_pass  http://tomcat;
}

注释之前 location /memc


            #set $key $uri$args;
            #srcache_fetch GET /memc $key;
            #srcache_store PUT /memc $key;

cd /usr/local/tomcat/webapps/ROOT
写一个
vim test.jsp
the time is: <%=new java.util.Date() %>

cd /usr/local/tomcat/bin
sh startup.sh
然后访问


http://172.25.11.1:8080/

 

server2 只需要转移tomcat 和 jdk 作好软连接开启tomcat 服务就好

scp -r /usr/local/apache-tomcat-7.0.37 /usr/local/tomcat1 root@172.25.11.2:/usr/local

ln -s jdk1.7.0_79/ java
ln -s apache-tomcat-7.0.37/ tomcat
环境变量一样
vim /etc/profile

source /etc/profile
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin


cd /usr/local/tomcat/webapps/ROOT/
vim test.jsp
server2 the time is: <%=new java.util.Date() %>

sh /usr/local/tomcat/bin/startup.sh


172.25.11.1:8080是 tomcat的主页面
访问172.25.11.1/test.jsp   就可以轮询了

重起后
server1
/etc/init.d/php-fpm start
/etc/init.d/mysqld start
/usr/local/openresty/nginx/sbin/nginx
sh /usr/local/tomcat/bin/startup.sh

server2
sh /usr/local/tomcat/bin/startup.sh


实现sticky 功能
nginx-sticky-module-ng.tar.gz
解压到/root/
使用nginx-1.10.1

server1
./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --add-module=/root/nginx-sticky-module-ng
make && make install

mv  /usr/local/openresty/nginx/conf/nginx.conf  /usr/local/lnmp/nginx/conf/


vim /usr/local/lnmp/nginx/conf/nginx.conf

在http的tomcat函数中加入
sticky;

mv test.jsp /usr/local/tomcat/webapps/ROOT/
############test.jsp##########

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("<b>Session list</b>");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="test.jsp" method="POST">
name:<input type=text size=20 name="dataName">
<br>
key:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>
####################################################

 


清除日志
> /usr/local/tomcat/logs/catalina.out

 

实现资源共享
server2 1  都要作下面的
yum install -y memcached
/etc/init.d/memcached start

需要
kryo-1.03.jar
kryo-serializers-0.8.jar
memcached-2.5.jar
memcached-session-manager-1.5.1.jarmemcached-session-manager-tc7-1.5.1.jar
minlog-1.2.jar
msm-kryo-serializer-1.5.1.jar
reflectasm-0.9.jar


jar中的memcache-session-*  放到tomcat/lib中
scp memcached-session-manager-* root@server3:/usr/local/tomcat/lib/
rm -fr /usr/local/tomcat/lib/memcached-session-manager-tc6-1.6.3.jar


vim /usr/local/tomcat/conf/context.xml

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.25.11.1:11211,n2:172.25.11.3:11211"
failoverNodes="n1"  
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>

 

添加两个节点

然后  /usr/local/tomcat/bin/shutdown.sh
      /usr/local/tomcat/bin/startup.sh


关闭
mysqld
memcached
php-fpm
nginx -s stop
tomcat
/usr/local/tomcat/bin/shutdown.sh

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
方便的小事情,可改善您的SCP浏览体验 SCPper(阅读“船长”)为SCP基金会Wiki网站及其翻译分支添加了一些功能。 它还可以增强从外部到这些站点的链接。 行为是完全可定制的,所有功能都可以关闭。 Wiki功能:-将纯文本(SCP-1234)转换为指向相应文章的链接。 -阅读文章时,它会将文章名称从主列表添加到标题中,并添加其他信息,例如投稿人和发布到页脚的日期。 -将作者页面链接添加到用户信息对话框。 -以将论坛页面添加到浏览器历史记录的方式覆盖默认论坛行为,您可以使用“下一个”和“上一个”按钮在它们之间进行导航。 全局功能:-将带有文章名称的工具提示添加到任何SCP文章链接。 支持的SCP项目:-原始SCP基金会(http://www.scp-wiki.net/)-俄罗斯分支(http://scp-ru.wikidot.com/)-韩国分支(http:// scp-kr .wikidot.com /)-中国分公司(http://www.scp-wiki-cn.org/)-法国分公司(http://fondationscp.wikidot.com/)-波兰分公司(http:// www scp-wiki.pl/)-西班牙分支(http://lafundacionscp.wikidot.com/)-泰国分支(http://scp-th.wikidot.com/)-日本分支(http:// scp-jp .wikidot.com /)-德国分支(http://scp-wiki-de.wikidot.com/)-意大利分支(http://fondazionescp.wikidot.com/)-乌克兰分支(http:// scp- ukrainian.wikidot.com/)-巴西葡萄牙语分支(http://scp-pt-br.wikidot.com/)由于格式不同,某些功能可能不适用于某些分支。 SCPper GitHub页面:https://github.com/FiftyNine/SCPper该扩展的源代码和所有资源均根据Creative Commons Attribution-ShareAlike 3.0许可证进行分发。 SCP对象的想法,SCP基金会,SCP基金会徽标,“保护,包含,保护”座右铭是由SCP创意社区在http://www.scp-wiki.net/上创建的,并且可以在同一许可证下获得。 支持语言:English,Français,polski,русский,中文 (简体),日本語,한국어

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值