JavaWeb-BeginTomcat
上手tomcat
1.ubuntu 18.04 下载/安装tomcat
以下内容
-
安装jdk
sudo apt-get update sudo apt-get install default-jdk
-
创建tomcat用户
从安全角度考虑,tomcat应当由非root用户运行。所以接下来我们要创建一个用户组和用户来运行tomcat
添加用户组:
sudo groupadd tomcat
添加用户:
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
-
安装tomcat
安装tomcat最好的方式是下载 binary release 并手动配置。
到 tomcat 9 download page 下载最新版本,并解压到 /opt/tomcat 文件夹内 -
更新权限
# 进入 tomcat 文件夹内 cd /opt/tomcat # 将 /opt/tomcat 文件夹及文件夹内所有内容的拥有者设置为 tomcat组 sudo chgrp -r tomcat /opt/tomcat # conf文件夹内的内容赋予读取权限 sudo chmod -r g+r conf # conf文件夹自身赋予读取权限 # 将 webapps work temp logs 的拥有者设置为 tomcat组 sudo chown -r tomcat webapps/ work/ temp/ logs/
-
创建一个服务文件
我们要把tomcat以服务(守护进程)的方式来运行,所以需要创建一个 systemd 服务文件。
tomcat 需要知道 java 的安装目录,该目录保存在系统环境变量 java_home 中,运行下面的命令来查找安装路径:
sudo update-java-alternatives -l
显示出两个地址:
java-1.11.0-openjdk-amd64 1101 /usr/lib/jvm/java-1.11.0-openjdk-amd64 java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
我使用 jdk8 的安装路径。
编辑 tomcat.service 文件
sudo gedit /etc/systemd/system/tomcat.service
粘贴如下内容:
[unit] description=apache tomcat web application container after=network.target [service] type=forking environment=java_home=/usr/lib/jvm/java-1.8.0-openjdk-amd64 environment=catalina_pid=/opt/tomcat/temp/tomcat.pid environment=catalina_home=/opt/tomcat environment=catalina_base=/opt/tomcat environment='catalina_opts=-xms512m -xmx1024m -server -xx:+useparallelgc' environment='java_opts=-djava.awt.headless=true -djava.security.egd=file:/dev/./urandom' execstart=/opt/tomcat/bin/startup.sh execstop=/opt/tomcat/bin/shutdown.sh user=tomcat group=tomcat umask=0007 restartsec=10 restart=always [install] wantedby=multi-user.target
保存并退出。
重载修改过的配置文件
sudo systemctl daemon-reload
开启 tomcat 服务
sudo systemctl start tomcat
查看 tomcat 服务的状态
sudo systemctl status tomcat
-
打开防火墙并测试 tomcat
sudo ufw allow 8080
在浏览器中输入地址: ,默认会打开 tomcat 的启动页面。另外,如果我们点击 manage app这个按钮,会显示拒绝访问。下文我们将会介绍如何来配置权限。
最后,确认可以访问 tomcat 后,开启服务。
sudo systemctl enable tomcat
-
配置 tomcat 网络管理接口
为了管理tomcat的 web app ,我们必须要开启一个账户来登录 tomcat server。
sudo gedit /opt/tomcat/conf/tomcat-users.xml
在 tomcat-users 节点下添加一个 user 节点,如下:
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"> <user username="admin" password="admin" roles="manager-gui,admin-gui"/> </tomcat-users>
默认情况下,较新版本的 tomcat只允许来自服务器本身的连接访问 manager & host manager。如果需要通过远程更改,可以修改 context.xml 文件。
# manager app sudo gedit /opt/tomcat/webapps/manager/meta-inf/context.xml # host manader app sudo gedit /opt/tomcat/webapps/host-manager/meta-inf/context.xml
注释限制访问的 ip 节点:
<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" /--> <manager sessionattributevalueclassnamefilter="java\.lang\.(?:boolean|integer|long|number|string)|org\.apache\.catalina\.filters\.csrfpreventionfilter\$lrucache(?:\$1)?|java\.util\.(?:linked)?hashmap"/> </context>
重启 tomcat 服务来应用修改
sudo systemctl restart tomcat
结束!
上一篇: 感冒了怎么办 8大偏方赶走感冒病毒
下一篇: 昨天晚上糗大了