当前位置 : 主页 > 编程语言 > java >

Liunx安装Tomcat部署Java Web项目

来源:互联网 收集:自由互联 发布时间:2023-02-04
文章目录 ​​安装JDK​​ ​​配置tomcat​​ ​​下载tomcat​​ ​​安装tomcat​​ ​​问题处理​​ ​​修改端口(可选)​​ ​​Linux中设置tomcat的服务器启动和关闭​​ ​​给

Liunx安装Tomcat部署Java Web项目_war包

文章目录

  • ​​安装JDK​​
  • ​​配置tomcat​​
  • ​​下载tomcat​​
  • ​​安装tomcat​​
  • ​​问题处理​​
  • ​​修改端口(可选)​​
  • ​​Linux中设置tomcat的服务器启动和关闭​​
  • ​​给tomcat设置用户名和密码登录​​
  • ​​打包Java web项目​​
  • ​​普通web项目​​
  • ​​Springboot项目​​
  • ​​jar包-不需要安装tomcat​​
  • ​​war包-需要安装tomcat​​

安装JDK

因为Tomcat是依赖Java的,所以安装Java肯定是第一部

使用命令判断Linux是否安装Java

java -version

Liunx安装Tomcat部署Java Web项目_前端_02

配置tomcat

如果是springboot可以选择打jar包,不需要安装tomcat,后边打包项目时会单独介绍

下载tomcat

下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,下载的版本是8.0,下载方式如图

Liunx安装Tomcat部署Java Web项目_前端_03

安装tomcat

使用 ssh 管理工具如:xshell等

在Xshell中使用命令跳转到local下面创建者自己的文件夹:kencery

cd /usr/localmkdir kencerycd kencery/

然后使用Xftp将tomcat复制到kencery文件夹下面

Liunx安装Tomcat部署Java Web项目_war包_04

将上传的Tomcat8.0解压,解压之后重命名为tomcat

tar -zxv -f apache-tomcat-8.5.72.tar.gz mv apache-tomcat-8.5.72 tomcatcd tomcat

Liunx安装Tomcat部署Java Web项目_war包_05

解析完成后即可以启动Tomcat,检查是否安装成功

/usr/local/kencery/tomcat/bin/startup.sh

Liunx安装Tomcat部署Java Web项目_tomcat_06

访问自己的8080端口(检查安全组和防火墙端口是否打开),查看服务是否启动,出现如下界面代表成功

Liunx安装Tomcat部署Java Web项目_tomcat_07

如果没有启动以在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 java

Liunx安装Tomcat部署Java Web项目_tomcat_08

ls -lrt /usr/bin/java

Liunx安装Tomcat部署Java Web项目_war包_09

ls -lrt /etc/alternatives/java

Liunx安装Tomcat部署Java Web项目_war包_10

修改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打包的

Liunx安装Tomcat部署Java Web项目_java_11

Liunx安装Tomcat部署Java Web项目_前端_12

会在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>

Liunx安装Tomcat部署Java Web项目_war包_13

同样是点击maven package按钮打包,打包成功后会在targets目录下生成war包

Liunx安装Tomcat部署Java Web项目_tomcat_14

需要把war报传到服务器tomcat的webapps目录下

启动tomcat

注意:

将项目打成war包,部署到外部的tomcat中,这个时候,不能直接访问 spring boot 项目中配置文件配置的端口。application.yml中配置的server.port配置的是spring boot内置的tomcat的端口号, 打成war包部署在独立的tomcat上之后, 你配置的server.port是不起作用的

Liunx安装Tomcat部署Java Web项目_java_15

网友评论