Linux —tomcat安装
0.前言
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。因为 Tomcat 技术先进、性能稳定,而且免费,成为目前比较流行的 Web 应用服务器。
Tomcat 又是依赖于 java 环境的,所以先安装好 java 环境。
上一篇中讲到如何:安装jdk
1.下载tomcat
我们这里还是用源码安装的方法进行安装tomcat,先去下载安装包:下载地址
下载 tomcat 8
在 /usr/local 目录下新建一个 tomcat 的文件夹,然后通过xftp将安装包上传到 tomcat 文件夹中
[root@localhost local]# pwd
/usr/local
[root@localhost local]# mkdir tomcat
[root@localhost local]# cd tomcat/
2.解压tomcat安装包
使用 tar 命令解压 tomcat 安装包
[root@localhost tomcat]# tar -zxvf apache-tomcat-linux-8.5.41.tar.gz
3、启动tomcat
在bin目录中启动tomcat,注意:一定得是tomcat安装目录下的bin目录
当前目录: /usr/local/tomcat/apache-tomcat-8.5.50/bin
执行命令启动tomcat :
[root@localhost bin]# ./startup.sh
4. 开放端口号
安装完之后,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 # 查看所有打开的端口
(笨蛋博猪之前还有一篇关于防火墙命令的文章)
博主改了端口号为8081,如果防火墙是开启的,那么我们需要把 8081 端口号(默认是8080)加入到防火墙中
firewall-cmd --add-port=8081/tcp --permanent
firewall-cmd --add-port=8081/udp --permanent
firewall-cmd --reload
5. 打开tomcat
在浏览器中打开tomcat,输入 http://你服务器的ip地址:8081/
6.修改端口
如果是云服务器的话得把端口加到安全组中
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.50]# cd conf/
[root@localhost conf]# pwd
/usr/local/tomcat/apache-tomcat-8.5.50/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.50]# cd bin/
[root@localhost bin]# pwd
/usr/local/tomcat/apache-tomcat-8.5.50/bin
[root@localhost bin]# ./shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-8.5.50
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-8.5.50
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.5.50/temp
Using JRE_HOME: /usr/java/jdk/jre
Using CLASSPATH: /usr/local/tomcat/apache-tomcat-8.5.50/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.50/bin/tomcat-juli.jar
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-8.5.50
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-8.5.50
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-8.5.50/temp
Using JRE_HOME: /usr/java/jdk/jre
Using CLASSPATH: /usr/local/tomcat/apache-tomcat-8.5.50/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.50/bin/tomcat-juli.jar
Tomcat started.
查看tomcat运行状态:
ps -ef | grep tomcat
再次访问tomcat的地址,既可以成功啦!
七、tomcat的目录结构
1、bin
主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。
startup 用来启动tomcat
shutdown 用来关闭tomcat
修改catalina可以设置tomcat的内存
2、conf
这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码
web.xml可以设置tomcat支持的文件类型
context.xml可以用来配置数据源之类的
tomcat-users.xml用来配置管理tomcat的用户与权限
在Catalina目录下可以设置默认加载的项目
3、lib
Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;
4、logs
这个目录中都是日志文件,记录了tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。
5、temp
存放Tomcat的临时文件,这个目录下的东西可以在停止tomcat后删除!
6、webapps
存放web项目的目录,后面的 .war包环境放在这个目录,启动tomcat的时候会自动加载 war 包中的文件。
7、work
运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。
8、LICENSE
许可证。
9、NOTICE
说明文件。
作者:小林同学_Scorpio
本博客所有文章仅用于学习、分享和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数,做笔记。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!