Tomcat(Linux )

linux安装Tomcat

一、CentOS 6.4 系统上如何安装 tomcat 7

简单总结下,tomcat是一个中间件,在B/S架构中,浏览器发出的http请求经过tomcat中间件,转发到最终的目的服务器上,响应消息再通过tomcat返回给浏览器。

tomcat所做的事情主要有:开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过tomcat返回给用户。

Apache,Nginx和Tomcat的区别:

Apache全称是 Apache Http Server Project, Tomcat全称是 Apache Tomcat。

Apache和 Nginx用于处理静态资源, tomcat用来处理动态资源。

Apache和Nginx相比,Nginx适合做前端服务器,适合做负载均衡。

一般情况下,使用的时候,都是 Apache+Tomcat一起使用或者 Nginx+tomcat一起使用。

 

本文将详细讲解在Linux系统上如何安装tomcat,tomcat是没有32位和64位之分的。

一、下载tomcat

首先我们肯定要先下载tomcat安装程序,我下载的是:

 

创建tomcat的安装路径

上传tomcat的安装文件到Xftp

 

 

 

 

然后解压缩

 

 

 

 

结果这样:

 

下面要进行端口号的修改,像8080这种端口好很容易被占用(这里可不改)

如何查看端口号

在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat
命令进行简单查询
netstat命令各个参数说明如下:
  -t : 指明显示TCP端口
  -u : 指明显示UDP端口
  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
  -n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况。

netstat -ntlp           //查看当前所有tcp端口∙
  netstat -ntulp |grep 80    //查看所有80端口使用情况∙
  netstat -an | grep 3306    //查看所有3306端口使用情况∙

Tomcat端口号可以不修改,不修改的话默认是8080

 

不改端口号的话

直接启动tomcat

执行./startup.sh

 

在网页上打开,测试tomcat

                    出现这个页面就是正确了

 

     如果8080端口号被占用了,则要修改端口号

 

 修改tomcat的端口号 

一般我会把原来的tomcat的8080端口改掉,进入tomcat的conf目录下,编辑server.xml文件
,端口我改成了8889,并添加了一个URIEncoding="UTF-8",修改了server.xml必须重启tomcat
进入到conf修改server.xml来修改tomcat的端口号。

 

执行Vi server.xml

 

因为Linux的防火墙默认只对外开放了一个22的端口,其他的端口都没打开。所以你需要把它的防火墙设置一下,让它对tomcat的8889端口号放行。

使用 cd ~ 命令切换到当前用户主目录(即root),然后使用如下命令来设置Linux的防火墙,使其对tomcat的8889端口号放行。

/sbin/iptables -I INPUT -p tcp --dport 8889 -j ACCEPT
/etc/rc.d/init.d/iptables save

 

/etc/rc.d/init.d/iptables save 命令是将这个设置永久地保存到Linux的防火墙中。

启动tomcat

 

测试tomcat

先进行查看ip

 

在浏览器中输入:http://192.168.174.128:8889/

 

 

 

 

 

 

 

二、CentOS 7 系统上如何安装 tomcat 7

(和centos6一样,但使用的语言有所不同)

例:防火墙设置(不一样的系统有不一样的命令):

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=8080/udp --permanent
firewall-cmd --reload

 

 

开放端口号

安装完之后,8080端口还是无法访问,一般防火墙都是开启的,所以要把 8080 这个端口号加到防火墙中。

systemctl status firewalld        # 查看防火墙状态

systemctl stop firewalld          # 停止防火墙

systemctl start firewalld         # 启动防火墙

firewall-cmd --reload             # 重新载入配置,比如添加规则之后,需要执行此命令

firewall-cmd --reload             # 重启防火墙

systemctl disable firewalld       # 禁用,禁止开机启动

firewall-cmd --zone=public --list-ports   # 查看所有打开的端口

 

如果防火墙是开启的,那么我们需要把 8080 端口号加入到防火墙中

firewall-cmd --add-port=8080/tcp --permanent

firewall-cmd --add-port=8080/udp --permanent

firewall-cmd --reload

 

 

 

 

六、修改端口号

8080端口号容易被占用,启动 tomcat 了,把端口号都加入防火墙了,还是不能在浏览器打开 tomcat 的话,那么就得去查看一下是不是 tomcat 的端口号被占用了。

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。

netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号

-t  (tcp) 仅显示tcp相关选项

-u  (udp)仅显示udp相关选项

-n  拒绝显示别名,能显示数字的全部转化为数字

-l  仅列出在Listen(监听)的服务状态

-p  显示建立相关链接的程序名



例如查看 8080 端口的情况,使用以下命令:

[root@localhost bin]# netstat -tunlp | grep 8080

tcp6       0      0 :::8080                 :::*                    LISTEN      1850/java

 

更多命令:

netstat -ntlp   //查看当前所有tcp端口

netstat -ntulp | grep 80   //查看所有80端口使用情况

netstat -ntulp | grep 3306   //查看所有3306端口使用情况


kill
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:

kill -9 PID

如上实例,我们看到 8080 端口对应的 PID 为 1850,使用以下命令杀死进程:

kill -9 1850



下面把默认的 8080 端口改成8081

进入tomcat的conf目录下,编辑server.xml文件

[root@localhost apache-tomcat-8.5.41]# cd conf/

[root@localhost conf]# pwd

/usr/local/tomcat/apache-tomcat-8.5.41/conf

[root@localhost conf]# vi server.xml

端口改成了8081,并添加了一个URIEncoding="UTF-8",修改了 server.xml,保存退出后必须重启 tomcat
记得把8081端口号加到防火墙中

 

 

怎么重启 tomcat ,去到tomcat的安装目录 /bin 目录下,运行 ./shutdown.sh 关闭tomcat,再运行./startup.sh 启动tomcat。

[root@localhost apache-tomcat-8.5.41]# cd bin/

[root@localhost bin]# pwd

/usr/local/tomcat/apache-tomcat-8.5.41/bin

[root@localhost bin]# ./shutdown.sh

Using CATALINA_BASE:   /usr/local/tomcat/apache-tomcat-8.5.41

Using CATALINA_HOME:   /usr/local/tomcat/apache-tomcat-8.5.41

Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.5.41/temp

Using JRE_HOME:        /usr/java/jdk/jre

Using CLASSPATH:       /usr/local/tomcat/apache-tomcat-8.5.41/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.41/bin/tomcat-juli.jar

[root@localhost bin]# ./startup.sh

Using CATALINA_BASE:   /usr/local/tomcat/apache-tomcat-8.5.41

Using CATALINA_HOME:   /usr/local/tomcat/apache-tomcat-8.5.41

Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.5.41/temp

Using JRE_HOME:        /usr/java/jdk/jre

Using CLASSPATH:       /usr/local/tomcat/apache-tomcat-8.5.41/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.41/bin/tomcat-juli.jar

Tomcat started.


接着查看tomcat的状态

ps -ef | grep tomcat

 

 

 

 


七、tomcat的目录结构

1bin

主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。
startup 用来启动tomcat
shutdown 用来关闭tomcat
修改catalina可以设置tomcat的内存

2conf

这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码
web.xml可以设置tomcat支持的文件类型
context.xml可以用来配置数据源之类的
tomcat-users.xml用来配置管理tomcat的用户与权限
在Catalina目录下可以设置默认加载的项目

3lib

Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;

4logs

这个目录中都是日志文件,记录了tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。

5temp

存放Tomcat的临时文件,这个目录下的东西可以在停止tomcat后删除!

6webapps

存放web项目的目录,后面的 .war包环境放在这个目录,启动tomcat的时候会自动加载 war 包中的文件。

7work

运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。

8LICENSE

许可证。

9NOTICE

说明文件。   

posted @ 2021-06-29 17:45  老衲法号幽灵  阅读(414)  评论(0编辑  收藏  举报