一.二进制包安装Tomcat

1.下载解压二进制包

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
tar zxvf apache-tomcat-8.5.32.tar.gz -C /usr/local/
cd /usr/local/
ln -s /usr/local/apache-tomcat-8.5.32 /usr/local/tomcat # 创建软连接

2.关闭SELinux

setenforce 0 # 临时关闭
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config # 永久关闭

3.防火墙开启8080端口

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT # 临时生效
/etc/init.d/iptables save # 保存到配置文件,永久生效
/etc/init.d/iptables status # 查看iptables当前状态

4.启动tomcat进程

/usr/local/tomcat/bin/startup.sh

5.查看tomcat进程

ps -ef|grep tomcat

6.查看tomcat进程对应的端口是否成功启动

lsof -i:8080

7.测试是否能成功访问

curl http://localhost:8080
http://192.168.164.134:8080/

8.编写jsp测试程序

cat > /usr/local/tomcat/webapps/ROOT/test.jsp << eof
<html>
<head>
<title>Hello World</title>
</head>
<body>
<%
out.println("Hello World!");
%>
</body>
</html>
eof #通过浏览器访问test.jsp
http://192.168.164.134:8080/test.jsp

9.以普通用户身份运行tomcat(jsvc方式运行tomcat)

通过/usr/local/tomcat/bin/startup.sh脚本启动tomcat,如果需要让tomcat监听80端口就必须使用root用户来运行此脚本,这样在安全上存在风险。jsvc是daemon模式来启动tomcat的程序,可以在普通用户下打开80端口。

9.1 创建tomcat启动用户

#创建tomcat用户组和用户
getent group tomcat || groupadd -r tomcat
#这里的tomcat用户没有登录权限,如果需要su切换到tomcat启动,则需要设置-s为/bin/bash
getent passwd tomcat || useradd -r -d /usr/local/tomcat -s /sbin/nologin -g tomcat tomcat #设置tomcat用户组和用户的目录权限
chown -R tomcat:tomcat /usr/local/tomcat

9.2 配置tomcat环境变量

cat > /etc/profile << eof
#set tomcat environment
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
eof #使用新加的环境变量立即生效
source /etc/profile

9.3 创建setenv.sh,增加启动参数

#在 tomcat/bin 目录下面,增加 setenv.sh
cat > /usr/local/tomcat/bin/setenv.sh << eof
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/logs/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
eof

9.4 安装jsvc

cd /usr/local/tomcat/bin/
tar zxvf commons-daemon-native.tar.gz
cd commons-daemon-1.1.0-native-src/unix/
./configure --with-java=/usr/java/jdk #这里需要gcc、make等编译工具,可以yum -y groupinstall "Development Tools"安装
make
cp jsvc /usr/local/tomcat/bin/

9.5 设置启动脚本

ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat #设置软链接
vi /etc/init.d/tomcat
#在第二行添加
# chkconfig: 2345 85 15
# description: Tomcat daemon
#set java home
JAVA_HOME=/usr/java/jdk
# 保存退出 #需要设置其中的TOMCAT_USER=tomcat,JAVA_HOME=/usr/java/jdk
#每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用\ 跨行注释。 #前台启动tomcat
/etc/init.d/tomcat run #启动tomcat
/etc/init.d/tomcat start #设置开机自启动
chkconfig --add tomcat

9.6 使用systemctl来管理tomcat

#查看tomcat状态
systemctl status tomcat.service #启动tomcat
systemctl start tomcat.service #设置tomcat开机自启动
systemctl enable tomcat.service #重启tomcat
systemctl restart tomcat.service #停止tomcat
systemctl stop tomcat.service #取消tomcat开机自启动
systemctl disable tomcat.service

二.源码包安装Tomcat

http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.32/src/apache-tomcat-8.5.32-src.tar.gz

Tomcat8下载地址:

http://tomcat.apache.org/download-80.cgi

参考资料:

https://www.jianshu.com/p/29ecd624046f

http://www.zhengdazhi.com/archives/1382

https://blog.csdn.net/lee4755026/article/details/50146287

https://blog.csdn.net/tiantang_1986/article/details/53704966

http://commons.apache.org/proper/commons-daemon/jsvc.html

https://www.cnblogs.com/allegro/p/5005352.html

https://www.cnblogs.com/origalom/p/7666897.html

CentOS7安装Tomcat的更多相关文章

  1. 解决CentOS7安装Tomcat不能被外部访问的问题

    在CentOS7安装了Tomcat,在服务器内部使用火狐浏览器通过localhost:8080是可以访问的,但是不能被外部访问,主要原因是因为防火墙的存在,导致端口不能被访问.CentOS是使用fir ...

  2. 简单步骤Centos7安装Tomcat 8 (yum安装)(ZT)

    原文:https://blog.51cto.com/bestlope/1978114?source=drt 说明: 操作系统:Centos7 系统环境:未安装其他服务 Step 1:更新系统 sudo ...

  3. Linux(CentOS7)安装Tomcat (Tomcat+JDK)

    安装Tomcat首先要安装jdk,jdk和tomcat安装可以使用的方法:将jdk.tomcat上传到Linux,然后解压后使用,另一种方法是直接使用在线安装:yum 第一步:安装jdk,在Linux ...

  4. CentOS7 安装 Tomcat

    安装 JDK Tomcat 的安装依赖 JDK,在安装 Tomcat 之前需要先安装 Java JDK.输入命令 java -version,如果显示 JDK 版本,证明已经安装了 JDK java ...

  5. Linux(CentOS7)安装Tomcat

    概述 Tomcat是运行Jsp文件的容器服务,能够处理URL请求,类似于IIS.相对于IIS,Tomcat可以部署到Linux.Windows.IOS等操作系统.这里主要整理将Tomcat部署到Lin ...

  6. [CentOS7]安装tomcat并开启自启动

    安装jdk 1.CentOS 6.X 和 7.X 自带有OpenJDK runtime environment (openjdk).它是一个在linux上实现开源的Java 平台. yum searc ...

  7. Centos7 安装Tomcat并运行程序

    运行环境:Centos7 jdk:1.8.0_171  Tocmcat:8.5.31 下载地址 :https://tomcat.apache.org/download-80.cgi#8.5.31 Ap ...

  8. Centos7安装Tomcat并部署DubboAdmin的War包并配置自动启动

    一.安装过程 1.打开官网,在左侧选择要下载的版本,比如下下载Tomcat8:https://tomcat.apache.org/download-80.cgi 2.找到tar.gz的下载地址:htt ...

  9. CentOS7 安装tomcat为系统服务器 Systemctl管理Tomcat,并设置开机启动

    本文转载:http://blog.chinaunix.net/uid-24648266-id-5729891.html CentOS7开始,从/etc/init.d脚本改为了systemctl管理服务 ...

随机推荐

  1. Apache和Nginx对比

    面试过程中被问到Apache和Nginx服务器的对比,因为之前没有关注过这个问题,所以也没能回答上来. 今天在网上搜索资料,发现中文资料极少,还是英文资料多一下. 原文链接:https://www.w ...

  2. 微信小程序 - debug(调试)

    微信小程序调试的方式是基于Chrome. 1. 常见console.log调试(可以具体参考console.log这个函数使用,它可不止这一个作用!) 2.使用NETWORK(我们可以查询到访问了那些 ...

  3. JERSEY中文翻译(第三章、JAX-RS Application, Resources and Sub-Resources)

    JAX-RS Application Resource and Sub-Resource 本章要介绍的是JAX-RS的核心概念——Resouce.Sub-Resource JAX-RS的2.0的jav ...

  4. 【Python】文件读写操作

    Python的文件读写有点类似php的文件读写.php的文件读写已经在<[php]让记事本成为你调控变量的控制台>(点击打开链接)说过了,以下用一个小样例说明Python的文件读写. 在F ...

  5. AndroidStudio 中查看获取MD5和SHA1值以及如何查看手机应用信息以及读取*.db数据库里面数据

    查看获取MD5和SHA1值具体操作方式链接 查看获取MD5和SHA1值实际操作命令CMD语句: C:\Users\Administrator>cd .android C:\Users\Admin ...

  6. cache-control 缓存

    1.服务端设置 2. 3.所以一般设置css/js等静态文件加一个md5码. 4.优先级问题 如果服务器端同时设置了Etag和Expires 时,Etag原理同样,即与Last-Modified/Et ...

  7. golang之tcp自动重连

    操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 问题描述 现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)需要自动重连. 测试服务器示例代码: /* ...

  8. matplotlib01

    matplotlib是基于numpy的一套Python工具包.这个包提供了丰富的数据绘图工具,可实现数据分析的可视化. 所以在安装matplotlib时,需要先安装numpy包.

  9. Ajax学习(一)

    ajax是什么? Asynchronous Javascript And XML:异步的js和xml 他能使得js访问服务器,而且是异步的. 服务器给客户端的响应一般是整个页面,一个完整的html页面 ...

  10. Visual Studio 2015新添加宏

    这个宏是类似环境变量,比如$(ProjectDir) $(SolutionDir),这样的,我需要新添加一个变量宏,但是VS的GUI上貌似找不到新的变量的设置,但是Qt的VS插件可以设置$(QTDIR ...