当前位置: 首页 > 编程日记 > 正文

Tomcat在Linux上的安装与配置

1.安装好linux系统,下载适合的 Tomcat(jdk)
下载JDK与Tomcat
jdk 下载
Tomcat 下载
参考地址:
jdk下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
tomcat下载地址:
http://tomcat.apache.org /download-70.cgi
2.jdk安装与配置.
建议在usr下新建jdk目录    mkdir  /usr/jdk
之后手动将jdk文件放到该目录下  或 (rpm -ivh jdk-7u55-linux-x64.rpm)
cd /usr/jdk
tar -zxvf jdk-7u55-linux-x64.tar.gz
参考:
生成链接以便版本升级
    # ln -s jdk1.7.0_55 latest
    # ln -s latest default
配置系统信息   vi  /etc/profile
需要配置的信息如下:
#set java environment    注释
export JAVA_HOME=/usr/java/jdk-1_5_0_02
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(或可能 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib)
#貌似不需要就可以     export JRE_HOME=${JAVA_HOME}/jre
使配置文件生效 重启系统(不建议) 建议使用  source /etc/profile
测试jdk是否配置成功      java -version
如遇到报错
在Linux中安装jdk.bin的时候发现问题,报错./config.sh: line 103: /home/jdk.bin : Permission denied
解决方法:修改权限:chmod 775 /usr/java/jdk-1_5_0_02/bin/*
3.Tomcat的安装
解压缩
# mkdir /usr/local/tomcat
# cd /usr/local/tomcat
# tar -zxvf /software/apache-tomcat-7.0.54.tar.gz
生成链接以便版本升级
# ln -s apache-tomcat-7.0.54 server
启动Tomcat
# cd /usr/local/tomcat/server/bin
# ./startup.sh
/*    
    Using CATALINA_BASE: /usr/local/tomcat/server
    Using CATALINA_HOME: /usr/local/tomcat/server
    Using CATALINA_TEMDIR: /usr/local/tomcat/server/temp
    Using JRE_HOME: /usr/java/default
    Using CLASS_PATH: /usr/local/tomcat/server/bin/bootstrap.jar:/usr/local/tomcat/server/bin/tomcat-juli.jar
    Tomcat started.
*/    
测试Tomcat:
打开防火墙,使外部能访问
# /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
# service iptables save
# service iptables restart
或直接修改文件/etc/sysconfig/iptables.
# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
 # service iptables restart
在浏览器输入: http://192.168.16.133:8080
如在本机可以输入: http://localhost:8080
出现tomcat的页面表示安装成功.
停止Tomcat
# ./shutdown.sh
4.配置web管理帐号
修改文件conf/tomcat-users.xml,在<tomcat-users>元素中添加帐号密码,需要指定角色.
# vi /usr/local/tomcat/server/conf/tomcat-users.xml
     <tomcat-users>
       <user name="admin" password="admin" roles="admin-gui,manager-gui" />
     </tomcat-users>
5.配置web访问端口
可以修改conf目录下的文件server.xml,修改Connector元素(Tomcat的默认端口是8080),需要重新启动Tomcat服务生效.
   # vi /usr/local/tomcat/server/conf/server.xml
   <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
6.配置https安全连接(ssl加密连接)
https连接需要用到数字证书与数字签名(MD5算法)
网站https连接首先需要申请数字证书,配置加密连接器,浏览器安装证书.
使用java的工具keytool产生数字证书
# keytool -genkey -alias tomcat -keyalg RSA
生成文件.keystore
注意:CN为主机名称,本机可用localhost
将文件.keystore放到Tomcat服务器的conf目录下
# cp .keystore /usr/local/tomcat/server/conf/
修改conf/server.xml文件,修改加密连接器,添加keystoreFile与keystorePass
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="conf/.keystore" keystorePass="123456"/>    
重新启动tomcat.浏览器输入https://localhost:8443访问,并安装证书.
7.Tomcat的目录结构
   ·bin     //存放Tomcat的命令脚本文件
   ·conf    //存放Tomcat服务器的各种配置文件,最主要是server.xml
   ·lib     //存放Tomcat服务器支撑jar包
   ·logs    //存放日志文件
   ·temp    //存放临时文件
   ·webapps //web应用所在目录,外界访问web资源的存放目录
   ·work    //Tomcat的工作目录
8.web应用的目录结构
   webapp                           -- web应用所在目录
     |--- html, jsp, css, js文件等  -- 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问.
     |--- WEB-INF 目录              -- java类、jar包、web配置文件存在这个目录下,外界无法直接访问,由web服务器负责调用.
           |--- classes 目录        -- java类
           |--- lib 目录            -- java类运行所需要的jar包
           |--- web.xml 文件        -- web应用的配置文件
9.虚拟主机的配置
指定虚拟主机名,修改conf/server.xml,添加<host>元素.
   <host name="hostname.domainname" appBase="/webapps">
     <Context path="/webapp" docBase="/webapps/webapp"/>
   </host>
   例:
   <host name="www.163.com" appBase="/webapps">
   </host>
   <host name="mail.163.com" appBase="/mailapps">
   </host>
须设置DNS解析(host文件或DNS系统).
10.web应用和虚拟目录的映射.(不懂,忘了有啥用)
可以修改xml配置文件的<Context>元素来设置web应用和虚拟目录的映射.
   ·conf/server.xml         //在<host>元素下添加<Context path="/webdir" docBase="/webappdir"/>,需要重新启动Tomcat服务生效,不建议使用.
   ·conf/context.xml        //添加<Context>元素所有web应用有效.
   ·conf/[enginename]/[hostname]/context.xml.default  //[enginename]一般是Catalina,主机[hostname]的所有web应用有效.
   ·conf/[enginename]/[hostname]/   //在目录下任意建一个文件(扩展名xml),文件名即为虚拟目录名.多级目录使用#分割. <Context docBase="/webappdir"/>
                                     //缺省值web应用目录可以定义为ROOT.xml,添加<Context docBase="/webappdir"/>,需重新启动Tomcat服务器.
   ·META-INF/context.xml    //
   可以将web应用放在webapps目录下让Tomcat服务器自动映射,适用开发环境,实际运用环境中不用自动映射。
   如没有修改配置文件,web应用目录为ROOT时则为默认web应用。
11.web应用首页(welcome file)的配置
   修改web应用的配置文件: [webapp]/WEB-INF/web.xml
    <welcome-file-list>
       <welcome-file>index.html</welcome-file>
       <welcome-file>index.htm</welcome-file>
       <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

备注:随笔中内容来源于网上资料整理,仅供参考。

转载于:https://www.cnblogs.com/Alanf/p/7445307.html

相关文章:

上机实践 1 初识 Java

实验 1 一个简单的 Java 应用程序 一、实验目的 掌握开发 Java 应用程序的 3 个步骤&#xff1a;编写源文件、编译源文件和运行应用程序。 二、实验要求 1. 参照教材中的指导&#xff0c;使用网络课程中提供的链接下载并安装 JKD 并配置环境变量。 2. 编写一个简单的 Java…

论COSPLAY / 谨以此文纪念我暂短的Cos生涯

COSPLAY是什么COSPLAY这一名词是是英文Costume Play&#xff08;服饰扮演&#xff09;的缩写&#xff0c;从事COSPLAY相关活动的人员一般被称为COSPLAYER。目前流行的COSPLAY活动内容主要集中于通过服装、道具、饰品等扮演动漫作品中的人物角色&#xff0c;而从宽泛的意义上来说…

python 3下对stm32串口数据做解析

1、最近有个想做一个传感器数据实时显示的上位机&#xff0c;常规的数据打印太频繁了&#xff0c;无法直观的看出数据的变化。 python下的上位机实现起来简单一点&#xff0c;网上找了一些python界面Tkinter相关资料和python串口的demo.测试实现了简单的数据显示。 Mark 一下问…

《深入理解计算机系统》第八章——异常控制流知识点总结

课本习题&#xff1a; 8.11 #include <unistd.h> #include <stdio.h>int main(){int i;for(i0;i<2;i) fork();printf("hello\n");exit(0);}/** Result:* hello* hello* hello* hello*/ 8.12 #include <stdio.h> #include <unistd.h>vo…

vs2003复制一个web窗体,没有更改指向同一个cs 文件,引发大问题

今天我在原来的考试系统的出题模块中,input模块,因为增加的一个web窗体编译有问题,于是就复制了原来的启动项页面input,再改了名字为set1,然后在set1页面上删除了控件和代码,再把set1设置为启动项,谁知道问题出来了:因为两个aspx文件都是指向同一个CS文件&#xff0c;从他们的H…

8.29 对象?数组?

今天发现我的filter函数有问题&#xff0c;翻不了页&#xff0c;一直报错&#xff1a; 这是一个封装好的Array原型扩展函数。 /* Array 原型方法扩展 */(function() {$.extend(Array.prototype, {// 添加内容&#xff0c;比push多一个检查相同内容部分add: function(item) {if …

Nginx的作用

1、Nginx简介&#xff1a; 2、简介&#xff1a; Nginx是一个高性能的HTTP和反向代理服务器。 支持的操作系统众多&#xff0c;windows、linux、MacOSX 可实现负载均衡 Rewrite功能强大 电商架构大部分都采用NginxTomcat的架构 3、命令行使用&#xff1a; 三个命令&#xff1a;(…

(转)TabContainer要实现服务器端回传

TabContainer要实现服务器端回传,出来在后台实现 OnActiveTabChanged 事件外, 还需要在前台实现 OnClientActiveTabChanged 事件&#xff0c;这是关键。 <asp:UpdatePanel ID"UpdatePanel1"runat"server"ChildrenAsTriggers"true"><con…

python 获取脚本所在目录

pythonsys.path__file__abspathrealpath 平时写python经常会想获得脚本所在的目录&#xff0c;例如有个文件跟脚本文件放在一个相对的目录位置&#xff0c;那就可以通过脚本文件的目录找到对应的文件&#xff0c;即使以后脚本文件移到其他地方&#xff0c;脚本也基本不需要改动…

《深入理解计算机系统》第十章——系统级I/0

目录 10.1Unix I/O 10.2文件 10.3打开和关闭文件 10.4读和写文件 10.5用RIO包建壮地读写 10.6读取文件元数据 10.7读取目录内容 10.8共享文件 10.9 I/O重定向 10.10 标准I/O 10.1Unix I/O 在Linux中&#xff0c;一切皆为文件。 文件I/O函数-------打开文件、读文件…

终于完成了“微软”化

整整忙活了一个下午&#xff0c;基本上我的笔记本完成了可怕的“微软”化进程&#xff01;是的&#xff0c;当我完成FOXMAIL中邮件向OUTLOOK2007的迁移后&#xff0c;在办公层面&#xff0c;已经完成“微软”化了。其实真的不想这样&#xff0c;但是想MS在独霸桌面后&#xff0…

C#创建Windows服务

利用VS.NET创建C# Windows服务在很多应用中需要做windows服务来操作数据库等操作&#xff0c;比如 &#xff08;1&#xff09;一些非常慢的数据库操作&#xff0c;不想一次性去做&#xff0c;想慢慢的通过服务定时去做&#xff0c;比如定时为数据库备份等 &#xff08;2&#x…

《深入理解计算机系统》第七章——链接知识点总结

目录 7.1编译器驱动程序 7.2静态链接 7.3目标文件 7.4可重定位目标文件 7.5符号和符号表 7.6符号解析 • 静态库(.a archive files) 7.1编译器驱动程序 7.2静态链接 7.3目标文件 7.4可重定位目标文件 使用readelf -S查看hello.o 一个典型的ELF可重定位目标文件包含以下…

排序算法之直接插入排序

1、基本思想&#xff1a; 已知待排序列r[1...n],先将序列中的第一个记录看成是一个有序的子序列&#xff0c;然后从第二个记录起逐个进行插入&#xff0c;直至整个序列变成关键字非递减有序序列为止。 具体操作如下&#xff1a; &#xff08;1&#xff09;查找出r[i]在有序序列…

【代码片段】如何使用CSS来快速定义多彩光标

对于web开发中&#xff0c;我们经常都看得到需要输入内容的组件和元素&#xff0c;比如&#xff0c;textarea&#xff0c;或者可编辑的DIV(contenteditable) &#xff0c;如果你也曾思考过使用相关方式修改一下光标颜色的&#xff0c;那么这篇技术小分享&#xff0c;你绝对不应…

如何划分155MSDH带宽

我们单位拟计划租用运营商155MSDH电路&#xff0c;由于我们单位应用业务较多&#xff0c;为了避免各业务之间相互影响&#xff0c;更好地分享带宽&#xff0c;根据各业务数据量的大小&#xff0c;分别赋予一定的带宽&#xff0c;使各业务在自己的带宽内传输&#xff0c;但不知选…

慕课袁春风老师《计算机系统基础》一二三部分练习题

2.2 1、下列几种存储器中&#xff0c;&#xff08; A &#xff09;是易失性存储器。 A. cache B. EPROM C. Flash Memory D. CD-ROM 2、下面有关半导体存储器组织的叙述中&#xff0c;错误的是&#xff08; D &#xff09;。 A. 存储器的核心部分是存储阵列&#xff0c;…

47种常见的浏览器兼容性问题大汇总

浏览器兼容性问题大汇总 JavaScript 31. HTML对象获取问题 32. const问题 33. event.x与event.y问题 34. window.location.href问题 35. frame问题 36. 模态和非模态窗口问题 37. firefox与IE的父元素(parentElement)的区别 38. document.formName.item(”itemName”) 问题 39.…

封装了一下我佛山人4.0 (支持vs2005)asp.net 页面验证

第一次写控件&#xff0c;拿“我佛山人4.0”开个刀&#xff0c;实际上也不算是什么控件&#xff0c;只是封装了一下&#xff0c;方便在asp.net中使用。 建议先看“我佛山人 4。0”文档。 声明&#xff1a;控件中参考了不少网上的源码&#xff0c;大家不要觉得眼熟BS人啊。注&am…

九章算法班L8 Array Number

转载于:https://www.cnblogs.com/sissie-coding/p/10295478.html

linux密码时效更改方法

密码时效 按目前的形势&#xff0c;已有更强大的硬件大大地缩短了利用自动运行的程序来猜测密码的时间。因此在UNIX系统中防止密码被***的别一方法就是要经常地改变密码。很多时候&#xff0c;用户却不改变密码。因此一种机制用来强制规律性的更改密码是合乎要求的。这种技术称…

YOLOv10训练自己的数据集

至此,整个YOLOv10的训练预测阶段完成,与YOLOv8差不多。欢迎各位批评指正。

安卓相对布局常用语句

不BB写在自己博客园看的舒服 RelativeLayout布局 android:layout_marginTop"25dip" //顶部距离 android:gravity"left" //空间布局位置 android:layout_marginLeft"15dip //距离左边距 // 相对于给定ID控件 android:layout_above 将该控件的底部置于…

Tomcat V6 Examples移植到Apusic V5.1

目标&#xff1a;将Tomcat V6的的例子Examples移植到Apusic V5.1上术语&#xff1a;Tomcat&#xff1a;只提供了WEB容器的开源服务器&#xff1b;Apusic&#xff1a;提供了完整的J2EE支持的商用服务器&#xff1b;%TOMCAT_HOME%&#xff1a;Tomcat安装目录%APUSIC_HOME%&#x…

Android 活动与活动间数据传递--登录注册页面

AndroidManifest.xml: <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"package"com.example.myapplica…

使用SVG中的Symbol元素制作Icon

前言 随着大屏幕分辨率的普及以及各种移动设备层出不穷的移动互联网时代的到来&#xff0c;我们在网站设计时更应该关心内容在各种设备上的阅读性和显示效果。我们都希望能在任何时间&#xff0c;任何设备上都能清楚的&#xff0c;高效的传递信息给用户。 而随着各种高清视网膜…

【JOURNAL】恭喜发财

刚写完上一条blog不久&#xff0c;南京城里开始响彻了鞭炮声&#xff0c;人见人爱、极具亲和力的财神来了。上海的一个朋友发短信来说那个国际化大都市也被对财神的膜拜感染得热闹喧天。这是好的。昨天给老婆表亲家的孩子压岁钱&#xff0c;对方说免了吧&#xff0c;我坚持让他…

[树形dp] Jzoj P5233 概率博弈

Description 小A和小B在玩游戏。这个游戏是这样的&#xff1a;有一棵n个点的以1为根的有根树&#xff0c;叶子有权值。假设有m个叶子&#xff0c;那么树上每个叶子的权值序列就是一个1->m 的排列。一开始在1号点有一颗棋子。两人轮流将这颗棋子移向其当前位置的一个儿子。假…

ASP.NET获取IP的6种方法

服务端&#xff1a; //方法一HttpContext.Current.Request.UserHostAddress; //方法二HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];//方法三stringstrHostName System.Net.Dns.GetHostName();stringclientIPAddress System.Net.Dns.GetHostAddresse…