考虑到《可能是目前最详细简明的CentOS7安装与管理教程》一文太长,以及简书目前不支持导航目录,阅读起来过于不便,故对其分解成《CentOS7最小化安装后要做的事》系列,方便以后有针对性的丰富内容。
Tomcat:
下载当前Tomcat8最新版的安装文件apache-tomcat-8.0.27.tar.gz(https://tomcat.apache.org/download-80.cgi);
将apache-tomcat-8.0.28.tar.gz文件放到/usr/local目录下,执行如下脚本:
cd /usr/local
tar -zxvf apache-tomcat-8.5.28.tar.gz
解压压缩包
rm -rf apache-tomcat-8.5.28.tar.gz
删除压缩包
mv apache-tomcat-8.5.28 tomcat
重命名
通过systemctl 管理tomcat:
1)首先,为tomcat 增加一个pid文件
在tomca/bin 目录下面,增加 setenv.sh 配置,catalina.sh启动的时候会调用,同时配置java内存参数;
vi setenv.sh
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
保存文件;
修改文件为可执行:
chmod a+x /usr/local/tomcat/bin/setenv.sh
2)增加tomcat.service
在/usr/lib/systemd/system目录下增加tomcat.service,目录必须是绝对目录。
vi tomcat.service
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[unit] 配置了服务的描述,规定了在network启动之后执行。
[service] 配置服务的pid,服务的启动,停止,重启。
[install] 配置了使用用户。
执行systemctl daemon-reload
,使 tomcat.service生效
启动tomcat:
systemctl start tomcat
开机启动:
systemctl enable tomcat
tomcat启动时会在tomcat的根目录/usr/local/tomcat下生成pid文件tomcat.pid,停止后会删除,用systemctl管理tomcat不会出现同时启动多个tomcat,这样可以保证始终只有一个tomcat在运行
访问http://ip:8080/,出现以下界面说明启动成功
但当我们点击红色框中按钮,进入管理时,提示无访问权限;
这时我们按提示,进入/usr/local/tomcat/conf,编辑 tomcat-users.xml,设置用户:
在
<tomcat-users></tomcat-users>
内部添加:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="用户名" password="密码" roles="manager-gui,admin-gui"/>
另外远程登录tomcat管理界面权限,注释掉/usr/local/tomcat/webapps/manager/META-INF/context.xml和/usr/local/tomcat/webapps/host-manager/META-INF/context.xml中:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
再次使用刚设置的账号密码登陆即可成功登录tomcat管理系统。