ubuntu18.04 安装 tomcat8.5.34 步骤及命令解读
本文主要参考Linux公社的文章:https://www.linuxidc.com/Linux/2018-05/152250.htm;并做了其他一些解析
Apache Tomcat是Java Servlet,JavaServer Pages,Java表达式语言和Java WebSocket技术的开源实现。 它是当今世界上应用最广泛的应用程序和Web服务器之一。 Tomcat使用简单,并具有强大的附加组件生态系统。
1. 创建tomcat 组及用户(在这之前你要安装jdk,可以参考Linux公社的文章)
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
-
sudo :使用超级管理员权限执行
-
useradd :添加用户
-
-m:创建用户的主目录
-
-U:创建与用户同名的组
-
-d:新账户的主目录
-
-s:新账户的登录shell
-
需要指定一个shell文件,用户登录时运行该登录shell文件
-
默认值为/bin/bash。如果不想让用户登录系统可以用 -s /sbin/nologin或/bin/false此用户就不可以登录系统。
-
区别:/bin/false是最严格的禁止login选项,一切服务都不能用,而/sbin/nologin只是不允许系统login,可以使用其他ftp等服务
如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。
-
-
-
执行完毕只是添加了一个tomcat用户并没有设置密码
2. 下载tomcat
我们将使用wget和unzip来下载和解压缩Tomcat存档。 如果您的系统上没有安装unzip和wget,请使用以下命令安装软件包:
sudo apt install unzip wget
此处我直接下载zip包解压未使用wget下载,然后移动到/opt/tomcat目录然后使用unzip解压
-
在zip目录打开终端,执行解压命令:
unzip apache-tomcat-*.zip
-
移动解压后的文件到/opt/tomcat/下:
sudo mv apache-tomcat-8.5.34/ /opt/tomcat/
-
为了更好的控制版本我们创建一个链接:
sudo ln -s /opt/tomcat/apache-tomcat-* /opt/tomcat/latest
用法:ln [选项]… [-T] 目标 链接名
ln的链接分软链接和硬链接两种:
1、软链接就是:“ln –s 源文件 目标文件”,只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间,类似与windows的快捷方式。
2、硬链接ln源文件目标文件,没有参数-s, 会在选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。-s, --symbolic make symbolic links instead of hard links(用符号链接代替硬链接)
后来如果你想升级你的Tomcat安装,你可以简单地解压缩更新的版本,并更改符号链接以指向最新版本。
-
我们以前设置的tomcat用户需要访问tomcat目录,所以我们将目录所有权更改为用户和组tomcat:
sudo chown -R tomcat: /opt/tomcat
用法:
chown [选项]... [所有者][:[组]] 文件...
-R operate on files and directories recursively(递归操作文件和文件夹)
-
我们还将在bin目录中执行脚本:
sudo chmod +x /opt/tomcat/latest/bin/*.sh
chmod [选项]… 模式[,模式]… 文件…
关于MODE:(都是同一种格式)
[ugoa]*([-+=]([rwxXst]*|[ugo]))+
.**说明:**u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
3. 创建一个systemd单元文件
要将Tomcat作为服务运行,我们将在/etc/systemd/system/目录下用以下内容创建一个新的tomcat.service单元文件:
-
cd /ect/systemd/system
-
vi tomcat.service : 创建tomcat.service文件(vi命令是vim工具的命令,没装的话自行百度安装下)
sudo vi tomcat.service // 一定要用管理员权限创建,否则不能保存
-
创建完后自动进入编辑页面
-
按一下i,进入输入模式
-
输入如下脚本
[Unit] Description=Tomcat 8.5 servlet container After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/default-java" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat/latest" Environment="CATALINA_HOME=/opt/tomcat/latest" Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/latest/bin/startup.sh ExecStop=/opt/tomcat/latest/bin/shutdown.sh [Install] WantedBy=multi-user.target
Node:这里,JAVA_HOME 不要改为自己的java路径,之前就因为改了这个路径所以启动服务的时候一直失败
-
按一下esc退出输入模式,输入:
:wq
保存离开 -
通知systemd我们创建了一个新的单元文件并通过执行以下命令来启动Tomcat服务:
sudo systemctl daemon-reload // systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。
// daemon-reload : Reload systemd manager configuration(重新加载系统管理器配置)
sudo systemctl start tomcat // 启动tomcat服务
-
使用
sudo systemctl status tomcat
命令查看服务状态,看到如下状态说明安装成功● tomcat.service - Tomcat 8.5 servlet container Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-09-25 08:41:58 CST; 2min 3s ago Process: 12471 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 12482 (java) Tasks: 49 (limit: 4915) CGroup: /system.slice/tomcat.service └─12482 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/opt/tomcat/latest/co
-
如果没有错误,您可以启用Tomcat服务在启动时自动启动:
sudo systemctl enable tomcat
4. 测试安装
打开浏览器并输入:http://<your_domain_or_IP_address>:8080
可以看到如下页面:
如果您无法访问该页面,那么很有可能您的防火墙阻止了端口8080.如果使用ufw打开端口8080,请运行以下命令
sudo ufw allow 8080/tcp
2018-09-25