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在浏览器中输入地址:http://127.0.0.1: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
结束!
JavaWeb-BeginTomcat的更多相关文章
- 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)
在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...
- JavaWeb——Servlet
一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...
- JavaWeb——Listener
一.基本概念 JavaWeb里面的listener是通过观察者设计模式进行实现的.对于观察者模式,这里不做过多介绍,大概讲一下什么意思. 观察者模式又叫发布订阅模式或者监听器模式.在该模式中有两个角色 ...
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
- javaWeb应用打包
在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- JavaWeb——tomcat安装及目录介绍
一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...
- 做JavaWeb开发不知Java集合类不如归家种地
Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...
- JavaWeb基础学习体系与学习思路
对于JAVAWEB的学习,首先一定要明确的是学习整体框架和思路,要有一个把控.对于WEB,很多人认为是做网页,简单的把静态网页与JAVAWEB与网页设计一概而论. 拿起一本JS就开始无脑的学习,学了一 ...
- Eclipse下配置javaweb项目快速部署到tomcat
用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...
- javaweb学习笔记之servlet01
一.Servlet概述 A servlet is a small Java program that runs within a Web server. Servlets receive and re ...
随机推荐
- LeetCode题解33.Search in Rotated Sorted Array
33. Search in Rotated Sorted Array Suppose an array sorted in ascending order is rotated at some piv ...
- Eclipse 修改自动补全触发器只能输入四个字符为多个字符
如果eclipse中的[auto activation triggers for java]自动补全触发器这个位置的文本框有时候只能输入4个字符, 可以通过修改配置文件的方法实现,具体操作步骤如下: ...
- LabVIEW(九):程序结构中的分支结构和顺序结构
一.分支结构 1.创建分支结构:程序框图右键>结构>条件结构 2.Ctrl + I 会显示错误列表,双击错误列表会定位到该错误在程序框图中地方. 3.有的分支可以不连接分支内容. 在不连接 ...
- Oracle开窗函数笔记及应用场景
介绍Oracle的开窗函数之前先介绍一下分析函数,因为开窗函数也属于分析函数 分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行. 上面是 ...
- 基于 jq 实现拖拽上传 APK 文件,js解析 APK 信息
技术栈 jquery 文件上传:jquery.fileupload,github 文档 apk 文件解析:app-info-parser,github 文档 参考:前端解析ipa.apk安装包信息 - ...
- python访问互联网
1.python有一个网络包urllib,里面有很多网络模块,其中我们常用的就是urllib.request (module)这个模块 2.引入要是用的模块:import urllib.request ...
- Connect By
connect by 用于存在父子,祖孙,上下级等层级关系的数据表进行层级查询. 语法格式: { CONNECT BY [ NOCYCLE ] condition [AND condition]... ...
- JavaScript百宝箱
Js的外部引用 外部文件中不用添加<script>标签,引用书写位置需在使用之前 <script type="text/javascript" src=" ...
- Java 中的 String 真的是不可变吗?
我们都知道 Java 中的 String 类的设计是不可变的,来看下 String 类的源码. public final class String implements java.io.Seriali ...
- 如何开会——高效会议八项原则
引子 今天看到一段有趣的话,忍不住记录下来吧! 1. 任何事情只要能开会解决的,一定要开会解决,这多威风,多热闹啊. 2. 会前千万不要准备什么议程,这样开会就会惊喜多多,会议一定低效. 3. 会前千 ...