Tomcat(介绍,JDK安装,Tomcat安装,配置Tomcat监听80端口)

简介:

一、Tomcat介绍

  • 目前有很多网站是用Java编写的,所以解析Java程序就必须有相关的软件来完成,Tomcat就是其中之一

  • Tomcat是Apache软件基金会,的Jakarta项目中的一个核心项目,由apache、sun和其他一些公司及个人共同开发而成,Tomcat技术先进,性能稳定而且免费,因而深受Java爱好者的喜欢,并得到部分开发商的认可,成为目前比较流行的web因公服务器。

  • Java程序写的网站用Tomcat+jdk来运行的。

  • tomcat是一个中间件,真正起作用的,解析java脚本是jdk。

  • jdk(java development kit)是整个Java的核心,它包含了java运行环境的一对java相关的工具以及java基础库。

  • 最主流的jdk为sun公司发布的jdk,初次之外,其实IBM公司也有发布JDK,Centos上也可以用yum安装openjdk。

  • Tomcat是一个轻量级应用服务器,在中小型系统和并发用户不是很多的场合下普遍被使用,是开发和调试java程序的首选,对于初学者来说,在一台机器上配置好Apache服务器之后,可利用它相应HTML页面的访问请求。

  • 实际上,Tomcat部分是Apache服务器的拓展,但它是独立运行的,所以当你运行Tomcat时,它是作为一个独立的进程运行的。


  • 二、安装JDK

  • jdk版本1.6,1.7,1.8

  • 一、下载jdk:

  • 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  • 不同的操作系统版本使用不同的jdk版本

  • 我使用的是1.png

  • 二、解压jdk:

  • 下载好后,我们可以使用xftp把jdk放到/usr/local/src下

  • 解压jdk压缩包:

  • [root@lnmp ~]# tar zxvf /usr/local/src/jdk-8u151-linux-x64.tar.gz

  • 三、设置环境变量:

  • [root@lnmp ~]# vim /etc/profile       (在最后加入以下几行)

  • JAVA_HOME=/usr/local/jdk1.8/

  • JAVA_BIN=/usr/local/jdk1.8/bin

  • JRE_HOME=/usr/local/jdk1.8/jre

  • PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin

  • CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar


  • 执行以下命令,使配置生效:

  • [root@lnmp ~]# source /etc/profile


  • 检查jdk有没有安装成功,配置是否正确:

  • [root@lnmp ~]#  java -version

  • 如果显示了以下内容,说明配置正确:

  • java version "1.8.0_151"

  • Java(TM) SE Runtime Environment (build 1.8.0_151-b12)

  • Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)


  • 如果显示的不同,可能系统调用了rpm的openjdk,不要随便卸载它,系统里可能有某一个程序在使用它。我们只需要做一个临时处理就好:

  • mv /usr/bin/java /usr/bin/java_bak

  • source /etc/profile

  • 再次执行

  • [root@lnmp ~]#  java -version,显示结果就正常了


三、安装Tomcat

一、安装Tomcat

[root@lnmp src]# cd /usr/local/src/

[root@lnmp src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/src/apache-tomcat-8.5.24-src.tar.gz

[root@lnmp src]# tar zxvf apache-tomcat-8.5.24-src.tar.gz

二、启动Tomcat

因为是二进制包,所以免去了编译的过程,启动Tomcat,命令如下:

[root@lnmp bin]# /usr/local/tomcat/bin/startup.sh

在这里,我遇到了2个错误和大家分享一下。

第一个错误:

[root@lnmp bin]# /usr/local/tomcat/bin/startup.sh

-bash: /usr/local/tomcat/bin/startup.sh: 权限不够

这个好解决,我ls -l看了一下bin/的权限,发现所有者没有x执行权限

[root@lnmp tomcat]# ll

总用量 304

drw-r-xr-x.  2 root root   4096 12月 26 13:49 bin

用下面这条命令则可以解决:

[root@lnmp tomcat]# chmod -R u+x bin/


第二个错误:

[root@lnmp bin]# /usr/local/tomcat/bin/startup.sh

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/local/jdk1.8

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

touch: 无法创建"/usr/local/tomcat/logs/catalina.out": 没有那个文件或目录

/usr/local/tomcat/bin/catalina.sh:行464: /usr/local/tomcat/logs/catalina.out: 没有那个文件或目录

报错没有logs目录,则建立一个就好。

[root@lnmp bin]# mkdir /usr/local/tomcat/logs

[root@lnmp bin]# /usr/local/tomcat/bin/startup.sh

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/local/jdk1.8

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

Tomcat started.

再次启动时,提示启动成功。

关闭服务用的命令是:

[root@lnmp bin]# /usr/local/tomcat/bin/shutdown.sh

Tomcat不支持restart,修改配置文件前要关闭,修改完后再开就好。


三、查看服务是否启动成功以及调用的端口。

[root@lnmp src]# ps aux |grep tomcat

root      3144 45.4  8.0 2296132 81524 pts/0   Sl   14:25   0:05 /usr/local/jdk1.8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

root      3188  0.0  0.0 112680   976 pts/0    R+   14:25   0:00 grep --color=auto tomcat


[root@lnmp src]# netstat -lntp |grep java

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

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      3144/java           

tcp6       0      0 :::8009                 :::*                  LISTEN      3144/java           

这里需要记住的是三个端口号,8080为提供web服务的端口,8005为管理端口,8009端口位第三方服务调用的端口,比如httpd和Tomcat结合时会用到。


四、在浏览器上测试。

为了方便起见,我们关闭防火墙。

[root@lnmp src]# systemctl stop firewalld

QQ图片20171226143037.png


四、配置Tomcat监听80端口

默认直接输入ip访问的是80端口,Tomcat访问的是8080端口,如果想修改为80,则需要修改server.xml文件。

[root@lnmp src]# vim /usr/local/tomcat/conf/server.xml

找到<Connector port="8080" protocol="HTTP/1.1"

修改为<Connector port="80" protocol="HTTP/1.1"


修改完后重启服务:(我们发现监听80端口的是nginx)

[root@lnmp src]# /usr/local/tomcat/bin/shutdown.sh

[root@lnmp src]# /usr/local/tomcat/bin/startup.sh

[root@lnmp src]# netstat -lntp |grep 80

tcp        0      0 0.0.0.0:80              0.0.0.0:*           LISTEN      1232/nginx: master   tcp6       0      0 :::8009                 :::*                    LISTEN      3401/java          

遇到这种情况,我们把nginx关闭,把tomcat重新启动,然后在观察

[root@lnmp src]# systemctl stop nginx

[root@lnmp src]# /usr/local/tomcat/bin/shutdown.sh

[root@lnmp src]# /usr/local/tomcat/bin/startup.sh

[root@lnmp src]# netstat -lntp |grep 80

tcp6       0      0 :::80                   :::*                    LISTEN      3401/java   tcp6       0      0 :::8009                 :::*                    LISTEN      3401/java   此时我们又发现,没有8005端口,因为从新启动后,8005作为管理端口会启动的较慢。

在8005没有启动时我们用浏览器直接去访问时很慢的,因为他要等8005启动后。











本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/2062868,如需转载请自行联系原作者
目录
相关文章
|
21天前
|
网络协议
iptables配置tcp端口转发
iptables配置tcp端口转发
26 1
|
29天前
|
负载均衡 网络协议 算法
slb监听协议与端口
SLB是云服务商提供的负载均衡服务,用于分发客户端请求到多台后端服务器,提升服务可用性和响应速度。关键概念包括监听协议(TCP、UDP、HTTP、HTTPS、TCPSSL)和监听端口。监听协议决定了SLB处理请求的方式,而监听端口则是SLB接收请求的入口。配置时需根据应用选择合适协议和端口,并可设置负载均衡算法(如轮询、最少连接等)。客户端应通过SLB统一入口访问后端服务,避免绕过SLB导致的问题。
44 2
|
1月前
|
负载均衡 网络协议 安全
slb选择监听协议和端口
阿里云SLB中,监听协议(TCP、HTTP、HTTPS)与端口(80、443等)决定客户端请求的处理方式。TCP适用于纯TCP或自处理HTTP的场景,HTTP用于智能调度Web服务,HTTPS提供安全的HTTP传输。监听端口通常匹配应用标准,如80 for HTTP,443 for HTTPS。配置时,可考虑HTTPS重定向和传递`X-Forwarded-Proto`头以识别请求来源。选择应基于业务需求和安全考虑。
29 3
|
2月前
|
前端开发 Java 数据库连接
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
33 0
|
14天前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
12 0
|
1月前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
23 0
|
1月前
|
Java
jdk的安装与环境变量的配置
jdk的安装与环境变量的配置
17 0
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
206 0
|
1月前
|
Java 编译器 测试技术
滚雪球学Java(04):JDK、IntelliJ IDEA的安装和环境变量配置
【2月更文挑战第11天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!
48 1
|
2月前
|
安全 Java
JDK的安装及环境变量配置
JDK的安装及环境变量配置