Tomcat基本
Tomcat web 应用服务器基础
jdk+tomcat安装
1、运行Tomcat为什么要装jdk? http://blog.sina.com.cn/s/blog_753bc97d0102w5rd.html
因为tomcat是用java写的,所以运行需要JRE,就是JAVA运行时刻环境,所以必须通过安装JDK来得到这个运行环境。
tomcat目录结构
2、实验环境
服务器系统:Windows server2008 x64位
Java环境:jdk1.6.0_32、jdk1.7.0_80
Web应用:apache-tomcat-6.0.45、apache-tomcat-7.0.27
3、版本对应关系
4、正式安装
4.1 、获取:
到官网下载正版软件
Jdk:http://www.oracle.com/technetwork/java/javase/archive-139210.html
Tomcat:http://tomcat.apache.org/
4.2、 开始安装
① 安装
双击JDK安装包,点击下一步
更改JDK安装路径,可以更改安装在其他盘符。点击"更改"按钮,选定相关路径.
接下来还有更改JRE安装路径,最好和JDK保持在一个父路径下。点击"更改"按钮,选择安装路径
② 配置Java环境变量
右击【我的电脑】---【属性】-----【高级系统设置】---【环境变量】
JAVA_HOME
变量需新建,变量值填写jdk的安装目录C:\Java\jdk1.6.0_32
Path
变量修改:在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码);
CLASSPATH
变量需新建,变量变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)系统变量配置完毕
③ Java测试
检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)
若如图所示 显示版本信息 则说明安装和配置成功。
④ 安装Tomcat解压版
解压下载的Tomcat包,运行目录下的bin/startup.bat(双击)
访问:http://127.0.0.1:8080(8080是它的默认端口)
⑤ Tomcat端口配置:/${tomcat_home}/conf/server.xml
<Connector port="" protocol="HTTP/1.1" connectionTimeout="" redirectPort="" debug="" disableUploadTimeout="true" URIEncoding="UTF-8"/>
运行多个tomcat时候的端口配置
端口冲突会导致服务启动失败,表现为闪退或提示端口占用报错。
Tomcat端口配置文件:/${tomcat_home}/conf/server.xml
端口设置原则:不能与服务器其他端口冲突原则
1、应用访问端口
server.xml文件中找到以下代码:
<connector port=""protocol="HTTP/1.1"connectionTimeout="" redirectPort=""/>
此连接在访问http时用到,修改了8080,后再访问就要以地址加修改后的端口
2、 Shutdown端口
<Server port="" shutdown="SHUTDOWN">
8005端口是用来关闭Tomcat服务的端口,如果此端口被占用,可在配置文件中将8005改成其他端口
3、 和其他服务器建立链接的端口
<Connector port="" protocol="AJP/1.3" redirectPort="" />
此连接器负责和其他的HTTP服务器建立连接,再把Tomcat与其他的HTTP服务集成时需要使用此连接器。如果此端口被占用,可在配置文件中将8009改成其他端口
4、 HTTPS服务端口
<Connector port="" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="" scheme="https" secure="true" clientAuth="false" keystoreFile="D:\Tomcat6.0\conf\tomcat.key" keystorePass="" sslProtocol="TLS" />
此连接器的作用是启动HTTPS服务,一般的情况此段内容是被注释掉的,只有开启HTTPS服务时才会放开使用,如果此端口被占用则修改8443端口为其他没被占用的端口,并且需要将(1)和(3)中的也要修改
注:修改成功后,为了使新设置的端口生效,还需要重新启动Tomcat服务器。
如何同时运行多个tomcat版本
场景:一直以来现网的程序运行环境都为Tomcat6+jdk6,现由于业务需要现网的部分应用的Tomcat版本需要升级,从Tomcat6升级到7,Tomcat7版本需要Java7版本的支持,但是现在出现了矛盾,Tomcat6和Tomcat7如何在一台服务器上各自配置不同的JDK
方案:将Tomcat配置文件中的环境变量改为绝对路径
假设此Tomcat需指定的JDK版本的目录为:E:\Java\jdk1.7
1、 修改Tomcat的bin文件夹下面的catalina.bat文件,如下:(一处地方修改)
修改前:
echo Using JAVA_HOME: "%JAVA_HOME%"
修改后:
echo Using JAVA_HOME: "E:\Java\jdk1.7"
2、 修改bin文件夹下面的setclasspath.bat文件,如下:(三处地方修改)
修改前:
set "JRE_HOME=%JAVA_HOME%" (ps:这个有两处地方,修改一处就行了,不行就两处都修改)
set _RUNJAVA="%JRE_HOME%\bin\java.exe"
set _RUNJDB="%JAVA_HOME%\bin\jdb.exe"
修改后:
set "JRE_HOME=E:\Java\jdk1.7"
set _RUNJAVA="E:\Java\jdk1.7\bin\java.exe"
set _RUNJDB="E:\Java\jdk1.7\bin\jdb.exe"
3、启动tomcat
Tomcat基本的更多相关文章
- Tomcat一个BUG造成CLOSE_WAIT
之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- Tomcat shutdown执行后无法退出进程问题排查及解决
问题定位及排查 上周无意中调试程序在Linux上ps -ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事.而且我内心总觉得这可能是tomcat像nginx一 ...
- 记一次tomcat线程创建异常调优:unable to create new native thread
测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is ...
- Linux CentOS 配置Tomcat环境
一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...
- 在Linux虚拟机下配置tomcat
1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法
有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm ...
- mac下安装及配置tomcat
mac下的软件不像windows下的程序那样写注册表,对于tomcat的安装来说,在mac下是名符其实的绿色软件,具体操作如下: 1.到 apache官方主页 下载完整 tar.gz文件包.(没有专门 ...
- 设置tomcat远程debug
查看端口占用情况命令: netstat -tunlp |grep 8000 tomcat 启动远程debug: startup.sh 中的最后一行 exec "$PRGDIR"/& ...
随机推荐
- js中 变量的解构赋值
es6新特性, 提取数组或对象中的值,按照对应位置, 为变量赋值. let [a, b, c] = [1, 2, 3]; 交换变量的值变得容易 let x = 1; let y = 2; [x, y] ...
- Oracle课程档案,第三天
count(*):有多少行,对行做统计 count(x):列.... sum:和 avg:平均值 min:求最小值 max:求最大值 distinct:取出重复的值 count:计数 group by ...
- 数据库的相关语句(where,order by)
select * from EMP t-- t列的别名--返回所有列 select ename || sal as HEHE from emp;--列的合并(使用连接) select concat(e ...
- python----下载与安装
在 Windows 上安装 Python 在 Windows 上安装 Python 请按如下步骤进行. 首先,登录 https://www.python.org/downloads/ 页面,可以在该页 ...
- Ubuntu 16.04 Java8 安装
添加ppa apt-get update apt install software-properties-common add-apt-repository ppa:webupd8team/java ...
- 1.7Oob 方法重载和成员变量,局部变量,构造方法
1:方法调用,如果值有参方法,必须传递实际参数. 2:方法定义了多少个参数,传递的实际参数就 必须有多少个, 方法的作用:1:描述某个类的作用,2:软件的复用 这个复用率低,作用小,价值很低: 3:
- JAVA第三周学习总结
20175303 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容总结 •编程语言的发展分为三个阶段,分别是:面向机器,面向过程,面向对象的语言.Java属于面向对 ...
- Django之Cookie、Session、CSRF、Admin
Django之Cookie.Session.CSRF.Admin Cookie 1.获取Cookie: 1 2 3 4 5 6 request.COOKIES['key'] request.get ...
- 在docker中使用mysql数据库,在局域网访问
1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...
- array 和 alloc init 以及 new 区别
当你使用new.alloc或copy方法创建一个对象时,该对象的引用计数器值为1.当不再使用该对象时,你要负责向该对象发送一条release或autorelease消息.这样,该对象将在其使用寿命结束 ...