当前位置: 移动技术网 > IT编程>开发语言>Java > JavaWeb-BeginTomcat

JavaWeb-BeginTomcat

2019年02月10日  | 移动技术网IT编程  | 我要评论
上手Tomcat 1.Ubuntu 18.04 下载/安装Tomcat 以下内容 "参考链接" 1. 安装JDK 2. 创建Tomcat用户 从安全角度考虑,Tomcat应当由非Root用户运行。所以接下来我们要创建一个用户组和用户来运行Tomcat 添加用户组: 添加用户: 3. 安装Tomcat ...

上手tomcat

1.ubuntu 18.04 下载/安装tomcat

以下内容

  1. 安装jdk

    sudo apt-get update
    sudo apt-get install default-jdk
  2. 创建tomcat用户

    从安全角度考虑,tomcat应当由非root用户运行。所以接下来我们要创建一个用户组和用户来运行tomcat

    添加用户组:

    sudo groupadd tomcat

    添加用户:

    sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
  3. 安装tomcat

    安装tomcat最好的方式是下载 binary release 并手动配置。
    tomcat 9 download page 下载最新版本,并解压到 /opt/tomcat 文件夹内

  4. 更新权限

    # 进入 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/
  5. 创建一个服务文件

    我们要把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
  6. 打开防火墙并测试 tomcat

    sudo ufw allow 8080

    在浏览器中输入地址: ,默认会打开 tomcat 的启动页面。另外,如果我们点击 manage app这个按钮,会显示拒绝访问。下文我们将会介绍如何来配置权限。

    最后,确认可以访问 tomcat 后,开启服务。

    sudo systemctl enable tomcat
  7. 配置 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

结束!

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网