对于apache开源项目中tomcat的认识,大多停留在Windows下,这次我通过一个简单的实例来介绍一下在linux下如何搭建tomcat环境,并且部署一个web项目。

先从基本安装开始,可别小看linux下的文件安装,那可不是windows下点击next就可以完成,但也并不复杂,重要的是我们学会怎么用快速理解和掌握它,那么一切就变得容易多了,开始吧,当然在安装部署tomcat之前必须先安装好jdk1.6的环境,具体见上一遍博客linux下jdk的安装。

1、先从Apache的官方网站下载下来tomcat6.0系列的文件,http://www.apache.org/tomcat/在这里找到Tomcat6.0的linux安装文件,它跟windows是不一样的,在官网上有相应的说明,linux版的tomcat是需要编译源代码的文件,如下载下来的文件为:apache-tomcat-6.0.30.zip

2、将下载的文件通过ftp传输到linux中,这里我推荐远程连接工具SSH,linux远程连接工具比较多。

3、解压apache-tomcat-6.0.30.zip,命令为:unzip apache-tomcat-6.0.30.zip得到apache-tomcat-6.0.30这个目录,将目录拷贝到/opt/,然后为了方便改名为/opt/tomcat即可。

4、修改环境变量,将一下的变量配置放在之前配置jdk环境变量的后面即可,如下:

在目录/etc下修改profile文件,使用命令为:vi /etc/profile

export CATALINA_HOME=/opt/tomcat

export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib

export PATH=$PATH:$CATALINA_HOME/bin

配置完成之后执行命令:source /etc/profile,如果没有提示错误,证明配置ok

可以通过echo $CLASSPATH来查看环境配置

5、启动tomcat服务

将目录切换到opt/tomcat/bin执行sh catalina.sh,提示信息如下:

The BASEDIR environment variable is not defined correctly

This environment variable is needed to run this program

通过情况配置完成之后就会报此类错误提示,该提示表示bin目录下相关.sh后缀文件没有执行权限,使用命令chmod +x *.sh来给所有的.sh文件以执行权限,

再执行sh catalina.sh或者sh startup.sh,便提示如下信息表示配置ok:

Using CATALINA_BASE:  /opt/tomcat

Using CATALINA_HOME:  /opt/tomcat

Using CATALINA_TMPDIR: /opt/tomcat/temp

Using JRE_HOME:        /usr/jdk1.6.0_23

Using CLASSPATH:      /opt/tomcat/bin/bootstrap.jar

6、查看tomcat的服务端口8080

命令:netstat -ntl | grep 8080,提示正常,在从windows客户端使用tenlet ip 8080看看什么情况,结果提示端口没有被开启,继续检查防火墙如下:

找到/etc/sysconfig/,vi iptables 在该防火墙配置文件中加入开放8080端口的配置如下:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

还有一种方法就是关闭防火墙,命令为:service iptables stop即可。

7、在客户端访问tomcat首页

http://localhost:8080/如果正常显示tomcat首页表明配置ok。

8、部署一个web项目

将文件为ssh2.war的包上传到opt/tomcat/webapps目录下,然后重启tomcat,如下命令:./catalina.sh run,部署ssh2.war并启动tomcat

在客户端输入http://localhost:8080/ssh2,显示登录页面表明项目部署成功。

通过以上简单的对tomcat的安装和部署进行介绍,并将安装部署过程遇到的问题也都详细的列举了,如果只看不练的话,总归只是看到的,我也是动手自己操作了一遍总归了如上的过程。作为一个测试人员,搭建测试环境是我们工作过程不可或缺的一项,而且当前以linux的影响力来说,大部分web服务都将在linux下部署,基于性能和安全性等等方面,这都是一个发展趋势,所以多研究linux的知识将会大大提高我们的各项技能。

linux系统上部署一个web项目的更多相关文章

  1. Linux CentOS下部署Java Web项目

    本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...

  2. 总想自己动动手系列·1·本地和外网(Liunx服务器上部署的web项目)按照自定义的报文格式进行交互(准备篇)

    一.准备工作 (1)有一台属于自己的云服务器,并成功部署和发布一个web项目(当然,本质上来说Java-Project也没问题),通过外网IP可以正常访问该web项目. 需要说明的是:任何web项目, ...

  3. 总想自己动动手系列·2·本地和外网(Liunx服务器上部署的web项目)按照自定义的报文格式进行交互(完结篇)

    一.准备工作 (1)创建一个web-project工程,部署本地可正常访问,部署在云服务上可访问. (2)理解如何在web.xml文件中配置过滤器,和创建一个自定义的过滤器. (3)懂得如何打war包 ...

  4. [傻瓜式一步到位] 阿里云服务器Centos上部署一个Flask项目

    网络上关于flask部署Centos的教程有挺多,不过也很杂乱. 在我第一次将flask上传到centos服务器中遇到了不少问题,也费了挺大的劲. 在参考了一些教程,并综合了几个教程之后才将flask ...

  5. 【Centos】【Python】【Flask】阿里云上部署一个 flask 项目

    1. 安装 python3 和 pip3 参考:http://www.cnblogs.com/mqxs/p/8692870.html 2.安装 lnmpa 集成开发环境 参考:http://www.c ...

  6. 关于Windows Server 服务器 安装tomcat部署Java Web 项目的问题

    我遇到的问题是:不知道怎么配置,感觉在服务器上部署一个web项目,应该是很高大上,步骤应该很繁琐,但是,事实却不是那样.配置反而挺简单. tomcat配置:在tomcat安装目录中的conf文件夹下有 ...

  7. 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat

    摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...

  8. 阿里云部署Java web项目初体验(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

  9. 阿里云部署Java web项目

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

随机推荐

  1. js类 的小例子

    class Flyer { constructor(fname, speed) { this.fname = fname; this.speed = speed; } fly(){ console.l ...

  2. Ubuntu下安装为知笔记

    之前在Windows下用的是有道云笔记,但是后来开始习惯使用Linux开发,有道云官方并没有提供Ubuntu的版本,所以权衡之下,选择了为知笔记,安装步骤: sudo add-apt-reposito ...

  3. 利用struts2的json返回方式来控制jquery.validate的remote框架,进行表单验证

  4. iOS UI调试工具 -- UIDebuggingInformationOverlay

    英文原文: http://ryanipete.com/blog/ios/swift/objective-c/uidebugginginformationoverlay/ 无意中看到iOS自带调试工具 ...

  5. 剑指offer-第四章解决面试题的思路(顺序打印矩阵)

    题目:输入一个矩阵,按照从外向里的顺序依次打印出每一个数.(画图让抽象的问题形象化) 思路:打印矩阵时,把每一层当做一个圈来打印,找到打印整个矩阵的截止条件. 从上图中我可以看到一个6*6的矩阵(长宽 ...

  6. C# null和" "的区别

    String str1 = null;   str引用为空 String str2 = "";      str引用一个空串 也就是null没有分配空间,""分 ...

  7. SqlServer2008 新建服务器对象->链接服务器脚本

    exec sp_addlinkedserver   'ddxx', '', 'SQLOLEDB','1.192.168.220'exec sp_addlinkedsrvlogin 'ddxx','fa ...

  8. SqlServer 数据库/数据表 拆分(分布式)【转】

    通过某种特定的条件,将存放在同一个数据库中的数据分散存放到多个数据库上,实现分布存储,通过路由规则路由访问特定的数据库,这样一来每次访问面对的就不是单台服务器了,而是N台服务器,这样就可以降低单台机器 ...

  9. spring源码学习之:springAOP实现底层原理

    一:springAOP底层实现是基于动态代理实现的.增强和切面,以及通知.是在动态代理生成的代理类inoke方法中调用实现 //+++++++++++++aop动态代理++++++++++++++++ ...

  10. 如何手玩5h uoj215 果冻运输得到 AC

    最近在大力练习提答颓提答,听说果冻运输很好玩就来试试. 然后玩的停不下来 QAQ ... 于是开一篇博客写一下每个点的解法.(一个个手玩出来的..) 首先我们每次都算什么下一步完后会发生什么在大脑中演 ...