tomcat 图形界面
应用管理平台 管理自定义页面
[root@www ~]# cd /usr/local/tomcat/webapps/
[root@www webapps]# ls
docs examples host-manager manager 应用管理平台 ROOT
manager目录中更改权限
[root@www webapps]# vim manager/META-INF/context.xml
20 allow="192.168.2.*" />
这个应用管理平台和jmx冲突
需要把jmx注释
[root@www tomcat]# vim bin/catalina.sh
#CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.2.10
#-Dcom.sun.management.jmxremote
#-Dcom.sun.management.jmxremote.port=8080
#-Dcom.sun.management.jmxremote.ssl=false
#-Dcom.sun.management.jmxremote.authenticate=true"
[root@www tomcat]# vim conf/tomcat-users.xml #登录管理平台的用户目录
倒数第二行添加
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="manager" password="123456" roles="manager-gui"/>
<user username="managerscript" password="123456" roles="manager-script"/>
manager-gui 可以访问html页面
manager-script 可以访问纯文本页面
[root@www tomcat]# vim /usr/local/tomcat/conf/server.xml
删除虚拟主机
host host
[root@www tomcat]# /usr/local/tomcat/bin/shutdown.sh
[root@www tomcat]# /usr/local/tomcat/bin/startup.sh
[root@www tomcat]# firefox 192.168.2.10:8080/manager/html
war包
java web项目 目录
使用应用管理平台部署war包 web项目
第一种方式
[root@www ~]# curl 192.168.2.10:8080/bdqnweb/
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
[root@www ~]# cd /usr/local/tomcat/webapps/
[root@www webapps]# ls
bdqnweb docs host-manager ROOT
bdqnweb.war examples manager
第二种 不使用管理平台
[root@www webapps]# pwd
/usr/local/tomcat/webapps
[root@www webapps]# ls
docs examples host-manager manager ROOT
[root@www ~]# cp bdqnweb.war /usr/local/tomcat/webapps/
[root@www ~]# curl 192.168.2.10:8080/bdqnweb/
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
[root@www ~]# cd /usr/local/tomcat/webapps/
tomcat的主机管理平台
[root@www ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
20 allow="192.168.2.*" />
[root@www ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="123456" roles="admin-gui"/>
<user username="adminscript" password="123456" roles="admin-script"/>
[root@www ~]# /usr/local/tomcat/bin/shutdown.sh
[root@www ~]# /usr/local/tomcat/bin/startup.sh
[root@www ~]# firefox 192.168.2.10:8080/host-manager/html
[root@www ~]# cd /usr/local/tomcat/webapps/
[root@www webapps]# ls
bdqnweb docs host-manager qq
bdqnweb.war examples manager ROOT
[root@www webapps]# echo 111111 > qq/index.jsp
[root@www webapps]# /usr/local/tomcat/bin/shutdown.sh
[root@www webapps]# /usr/local/tomcat/bin/startup.sh
[root@www webapps]# vim /etc/hosts
192.168.2.10 www.qqq.com
[root@www webapps]# curl www.qqq.com:8080/qq/
111111
tomcat+apache的动静分离
tomcat主要处理的是动态页面
apache 主要处理的是静态页面
可以让用户访问静态数据的时候去找apache
用户访问动态数据的时候去找tomcat
tomcat 192.168.2.10
apache 192.168.2.20
apache+tomcat结合
tomcat 192.168.2.10
apache 192.168.2.20
apache yum ajp模块
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# httpd -M | grep proxy
proxy_module (shared)
proxy_ajp_module (shared)
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
ProxyRequests Off #httpd代理 反向正向 关闭正向 开反向代理
ProxyPassMatch (^/.*\.jsp)$ ajp://192.168.2.10:8009/$1
如果apache接收到以.jsp结尾的请求时,将这个请求通过ajp这个协议交给tomcat节点
因为tomcat访问需要加具体的目录 使用了$1这个位置变量 去获取用户访问ip后的路径 作为去tomcat获取数据的路径
例子:192.168.2.20:8080$0 /aa/index.jsp$1
ajp://tomcat/aa/index.jsp 位置变量
[root@localhost ~]# systemctl restart httpd
静态数据
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo apache > /var/www/html/index.html
[root@localhost html]# curl 192.168.2.20/index.html
动态数据
[root@localhost html]# curl 192.168.2.20/bdqnweb/index.jsp
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
tomcat的优化:
tomcat的加固 tomcat安全方面的
- 在实际环境当中 端口需要改为非8080端口
[root@www webapps]# vim /usr/local/tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
在实际环境当中 root用户 只能拿到普通用户
tomcat程序 tomcat用户
tomcat程序-----tomcat用户
0-1024端口---root用户启动 普通1024之后的端口
- 禁用目录浏览的功能
[root@www webapps]# vim /usr/local/tomcat/conf/web.xml
<param-name>listings</param-name>
<param-value>false</param-value>
- 在实际环境当中 需要禁用应用管理平台和主机管理平台
[root@www webapps]# rm -rf /usr/local/tomcat/webapps/manager*^C
[root@www webapps]# rm -rf /usr/local/tomcat/webapps/host-manager*^C
- 脚本权限回收
tomcat用户---tomcat服务
[root@www bin]# chmod -R 700 /usr/local/tomcat/bin/*
- 隐藏版本信息 错误页面
[root@www bin]# cd /usr/local/tomcat/webapps/
[root@www webapps]# cd bdqnweb/
[root@www bdqnweb]# ls
index.jsp META-INF WEB-INF
[root@www bdqnweb]# firefox 192.168.2.10:8080/bdqnweb/a.jsp
[root@www bdqnweb]# vim /usr/local/tomcat/conf/web.xml
<error-page>
<error-code>404</error-code>
<location>/notfound.jsp</location>
</error-page>
[root@www bdqnweb]# pwd
/usr/local/tomcat/webapps/bdqnweb
[root@www bdqnweb]# echo "page not found" > notfound.jsp
[root@www bdqnweb]# /usr/local/tomcat/bin/shutdown.sh
[root@www bdqnweb]# /usr/local/tomcat/bin/startup.sh
[root@www bdqnweb]# firefox 192.168.2.10:8080/bdqnweb/a.jsp