文章目录
- 安装JDK
- 配置tomcat
- 下载tomcat
- 安装tomcat
- 问题处理
- 修改端口(可选)
- Linux中设置tomcat的服务器启动和关闭
- 给tomcat设置用户名和密码登录
- 打包Java web项目
- 普通web项目
- Springboot项目
- jar包-不需要安装tomcat
- war包-需要安装tomcat
安装JDK
因为Tomcat是依赖Java的,所以安装Java肯定是第一部
使用命令判断Linux是否安装Java
java -version配置tomcat
如果是springboot可以选择打jar包,不需要安装tomcat,后边打包项目时会单独介绍
下载tomcat
下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,下载的版本是8.0,下载方式如图
安装tomcat
使用 ssh 管理工具如:xshell等
在Xshell中使用命令跳转到local下面创建者自己的文件夹:kencery
cd /usr/localmkdir kencerycd kencery/然后使用Xftp将tomcat复制到kencery文件夹下面
将上传的Tomcat8.0解压,解压之后重命名为tomcat
tar -zxv -f apache-tomcat-8.5.72.tar.gz mv apache-tomcat-8.5.72 tomcatcd tomcat解析完成后即可以启动Tomcat,检查是否安装成功
/usr/local/kencery/tomcat/bin/startup.sh访问自己的8080端口(检查安全组和防火墙端口是否打开),查看服务是否启动,出现如下界面代表成功
如果没有启动以在tomcat安装目录下的bin下执行./catalina.sh run 让它debug运行,看看错误出在哪里
比如我启动的时候提示
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el6_9.x86_64/bin/java: No such file or directory查看tomcat启动使用的JRE_HOME发现不对,进行修改
问题处理
whereis javals -lrt /usr/bin/javals -lrt /etc/alternatives/java修改vim /etc/profile
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el8_2.x86_64PATH=$PATH:$JAVA_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME CLASSPATH PATH之后就可以成功启动了
修改端口(可选)
如果8080端口被占用的话,可以修改conf目录下的server.xml文件
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />https://help.fanruan.com/finereport/doc-view-770.html
Linux中设置tomcat的服务器启动和关闭
Linux的系统和重启我们每次都需要接路径并且执行命令,那么我们可以设置成service的形式来实现这个功能
执行命令:vim /etc/rc.d/init.d/tomcat,创建脚本文件,在文件中写入如下代码,保存并且退出
#!/bin/bash # /etc/rc.d/init.d/tomcat # init script for tomcat precesses # processname: tomcat # description: tomcat is a j2se server # chkconfig: 2345 86 16 # description: Start up the Tomcat servlet engine. if [ -f /etc/init.d/functions ]; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ]; then . /etc/rc.d/init.d/functions else echo -e "\atomcat: unable to locate functions lib. Cannot continue." exit -1 fi RETVAL=$? CATALINA_HOME="/usr/local/kencery/tomcat" #tomcat安装目录,你安装在什么目录下就复制什么目录 case "$1" in start) if [ -f $CATALINA_HOME/bin/startup.sh ]; then echo $"Starting Tomcat" $CATALINA_HOME/bin/startup.sh fi ;; stop) if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then echo $"Stopping Tomcat" $CATALINA_HOME/bin/shutdown.sh fi ;; *) echo $"Usage: $0 {start|stop}" exit 1 ;; esac exit $RETVAL给文件添加权限,使得脚本文件可以执行,命令为
chmod 755 /etc/rc.d/init.d/tomcat将其添加到服务中,命令如下:
chkconfig --add /etc/rc.d/init.d/tomcat然后将下面的配置文件加到tomcat中的catalina.sh文件中的最后面,命令如下:
vim /usr/local/kencery/tomcat/bin/catalina.sh添加的配置如下:
export JAVA_HOME=/usr/local/kencery/javajdk #javajdk的安装路径,使用echo $JAVA_HOME命令可以读取 export CATALINA_HOME=/usr/local/kencery/tomcat export CATALINA_BASE=/usr/local/kencery/tomcat export CATALINA_TMPDIR=/usr/local/kencery/tomcat/temp以上所有工作顺利进行并没有报错,则配置完成,输入下面命令进行验证:
service tomcat startservice tomcat stop给tomcat设置用户名和密码登录
在tomcat安装包下面的conf文件下含有一个tomcat-user.xml文件,修改此文件即可,命令为:
vim tomcat-users.xml在打开的xml配置文件最后面写入下面这段配置文件之后保存并且退出即可
<role rolename="admin-gui"/> <role rolename="manager-gui"/><user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>不要用tomcat-users.xml里面有注释的用户,用文件提供的用户名和密码去访问的时候,会出现403错误,因为我们没有指定用户所拥有的权限的原因,如我们现在想访问tomcat中图形化管理应用的功能,也就是Manager App,就需要指定manager-gui的权限,如果想访问host manager就必须指定admin-gui权限,所以推荐直接在最后添加配置文件,并修改默认密码
重启服务之后,检测是否登录成功,如果登录进入系统,则说明登录成功
如果此时仍然出现403 Access Denied错误,那么就是访问的ip地受到了限制
打开**/webapps/manager/META-INF/目录下context.xml文件,不是conf/目录下的context.xml文件将里面的内容注释掉或者修改**为
<Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />打包Java web项目
将打包的war包放到tomcat默认的发布web项目的目录webapps即可
普通web项目
普通的Javaweb项目由于没有使用maven,不能一键打包成war包
Springboot项目
jar包-不需要安装tomcat
jar包方式启动,也就是使用spring boot内置的tomcat运行,服务器上面只要配置了jdk1.8及以上,不需要外置tomcat
只要项目在本地可以成功运行都可以直接使用maven package打包的
会在target目录下生成jar包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WLEdJ0nA-1637027344107)(https://gitee.com/q_one/oceanpic/raw/master/img2021-/202111160945323.png)]
也可以使用maven在控制台使用命令打包
运行也是很简单
nohup java -jar demo-0.0.1-SNAPSHOT.jar --server.port=8888 >temp.txt &nohup 保证程序可以后台运行>temp.txt & 会把日志文件输入到指定的文件中,没有则会自动创建war包-需要安装tomcat
修改pom文件,添加以下这行
<packaging>war</packaging>同样是点击maven package按钮打包,打包成功后会在targets目录下生成war包
需要把war报传到服务器tomcat的webapps目录下
启动tomcat
注意:
将项目打成war包,部署到外部的tomcat中,这个时候,不能直接访问 spring boot 项目中配置文件配置的端口。application.yml中配置的server.port配置的是spring boot内置的tomcat的端口号, 打成war包部署在独立的tomcat上之后, 你配置的server.port是不起作用的