UbuntuServer安装tomcat与初始化设置(命令行)

来源:互联网 发布:java 变量类型 编辑:程序博客网 时间:2024/06/01 09:32

UbuntuServer安装tomcat与初始化设置(命令行)

1、 tomcat下载与安装

到http://tomcat.apache.org/下载tomcat压缩包(tar.gz),此处不再赘述。

解压tomcat

//tar zxvf 压缩包所在目录/压缩包名tar zxvf ./apache-tomcat-8.5.6.tar.gz

解压完成后,进入解压文件所在目录,这里用TOMCAT_HOME代替。


第一步:绑定java

sudo vim TOMCAT_HOME/bin/catalina.sh

cygwin=false这一行上面添加

JAVA_HOME=环境变量中配置的JAVA_HOME

esc:wq


第二步:启动测试tomcat,关闭tomcat

启动tomcat:

sudo TOMCAT_HOME/bin/startup.sh

系统会返回如下信息则表示已成功启动:

Using CATALINA_BASE:   TOMCAT_HOMEUsing CATALINA_HOME:  TOMCAT_HOMEUsing CATALINA_TMPDIR: TOMCAT_HOME/tempUsing JRE_HOME:        /home/ubuntu/jdk1.8.0_111Using CLASSPATH:       TOMCAT_HOME/bin/bootstrap.jar:TOMCAT_HOME/bin/tomcat-juli.jarTomcat started.

关闭tomcat:

sudo TOMCAT_HOME/bin/shutdown.sh

返回如下信息则表示已经关闭服务:
Using CATALINA_BASE: TOMCAT_HOME
Using CATALINA_HOME: TOMCAT_HOME
Using CATALINA_TMPDIR: /home/ubuntu/apache-tomcat-8.5.6/temp
Using JRE_HOME: /home/ubuntu/jdk1.8.0_111
Using CLASSPATH: /home/ubuntu/apache-tomcat-8.5.6/bin/bootstrap.jar:/home/ubuntu/apache-tomcat-8.5.6/bin/tomcat-juli.jar

2、初始化设置


第三步:创建app管理员用户

sudo vim TOMCAT_HOME/conf/tomcat-users.xml

在此文件中添加如下信息:

<user username="用户名" password="密码" roles="manager-gui" />

第四步:改变端口号

sudo vim TOMCAT_HOME/conf/srver.xml

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443"/>

中的port的值改为自己要设置的值,一般为80。


第五步:打开服务并测试进入管理界面:

在浏览器上输入服务器ip地址和端口号,因为针对服务器,此处普遍在远程电脑测试。之后点击managerApp,如果没问题会弹出登陆窗口,输入第三步设置的管理员账户与密码进入应用管理界面。
此时有很大可能在点击managerApp后报“403 Access Denied”错误。这也是本章讨论的重点所在。
很多人遇到这个问题都以为是第三步设置用户时出错了,多次更改后依然没有用。这里要说的是这个问题的原因。首先我们来看错误提示。

 You are not authorized to view this page. By default the Manager is only accessible from a browser running on the same machine as Tomcat. If you wish to modify this restriction, you will need to edit the Manager's context.xml file..........

这一句是很多人忽略的,意思大致是你不具备访问这个页面的权限。为什么呢?因为,默认的应用管理界面是只能在和tomcat服务器同属一个机子的浏览器才可以访问的,也就是说应用管理界面默认只有本地访问权限,在别的机子上的浏览器访问时是不被允许的。那么如何解决这个问题呢?报错信息中给了我们提示,需要先修改managerAPP这个应用的context.xml文件。这里我们先看一下这个文件(文件位置:TOMCAT_HOME/webapps/manager/META-INF/context.xml)中的相关设置:

<Context antiResourceLocking="false" privileged="true" ><Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /></Context>

文件设置了特权操作可用,并且允许远程连接地址之允许本地地址和相同局域网内用户通过,所你在服务器以外的浏览器无法访问该页面。
那么我们应该怎么解决这个问题呢?让我们先查看一下相关官方文档:
http://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html#Configuring_Manager_Application_Access

http://tomcat.apache.org/tomcat-8.5-doc/config/valve.html#Remote_Address_Valve
根据文档,我们可以在allow列表里添加自己自己需要的允许网址,如我本人比较笨,添加后信息如下,允许所有远程访问:

<Context antiResourceLocking="false" privileged="true" ><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+" /></Context>

注意:添加自己的ip地址之前要加”|“表示或,同时点之前要加转义符”\“接
之后重启tomcat服务就好了

0 0
原创粉丝点击