发布于2020-11-19 20:45 阅读(1291) 评论(0) 点赞(16) 收藏(2)
免费的、开放源代码的Web应用服务器
Apache软件基金会Jakarta项目中的一个核心项目
由Apache、Sun和一些公司及个人共同开发而成
深受Java爱好者的喜爱,并得到部分软件开发商的认可
目前比较流行的Web应用服务器
Tomcat由Web容器(web服务器)
Servlet容器(名为catalina,处理Servlet代码)
JSP容器(将JSP动态网页翻译成Servlet代码
server:tomcat实例 注意:一个JVM(java虚拟机)只能有一个tomcat实例
service:接收请求到处理的所有组件的集合。
service 组件分为connector(连接器)和container(容器)两部分。
connector:负责接受用户请求和消息报文的,将消息报文发往cotainer。
container是容器对外映射的接口,用于封闭和管理servlet。
engine:是一个容器,是用来将用户的请求发往它下面的虚拟主机的,engine是加载虚拟主机的一个容器。
host:是虚拟主机的容器
content:管理servlet。
servlet:是支持java语言的组件
详细的解释:https://www.cnblogs.com/haimishasha/p/10840606.html
将需要配置的软件包上传到服务器上,配置Java环境
JDK是Java语言的软件开发工具包
JDK是Tomcat运行的必要环境
[root@server1 opt]# tar zxf jdk-8u91-linux-x64.tar.gz
[root@server1 opt]# mv jdk1.8.0_91/ /usr/local/java
[root@server1 opt]# cd /etc/profile.d/
[root@server1 profile.d]# vim java.sh
export JAVA_HOME=/usr/local/java ###设置java根目录
export PATH=$PATH:$JAVA_HOME/bin ###在PATH环境变量中添加JAVA根目录下的bin子目录
[root@server1 profile.d]# source java.sh ###java.sh脚本导入到环境变量中,使其生效
[root@server1 ~]# java -version ###查看版本
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
安装并启动Tomcat
[root@server1 opt]# tar zxf apache-tomcat-8.5.16.tar.gz
[root@server1 opt]# mv apache-tomcat-8.5.16 /usr/local/tomcat8
[root@server1 opt]# /usr/local/tomcat8/bin/startup.sh ###启动tomcat
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
[root@server1 opt]# /usr/local/tomcat8/bin/shutdown.sh ###关闭tomcat
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
[root@server1 ~]# ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup ##优化执行路径
[root@server1 ~]# ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown
[root@server1 ~]# tomcatup
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
[root@server1 ~]# netstat -anpt | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 48759/java
[root@server1 ~]# systemctl stop firewalld
[root@server1 ~]# setenforce 0
在浏览器中输入 http://20.0.0.10:8080 即可访问tomcat主页
写个Java小程序,测试是否可以正常工作
[root@server1 ~]# vi a.java
public class a {
public static void main (String[] args) {
System.out.println("你好,世界!!!");
}
}
javac a.java #执行,编译成功后生成可执行文件
java a #测试,原样输出则为成功
你好,世界!!!
加入测试页面,编辑配置文件并测试
[root@server1 opt]# mkdir -p /web/webapp1
[root@server1 opt]# vi /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title></head>
<body><% out.println("welcome to test site");%>
<div>动态页面</div>
<img src="a.jpg" />
</body>
</html>
#这个jsp中引入的page标签
#language表示语言是Java
#import类似于Java类中的import就是把包导入进来,这样在jsp才可以调用包中的类
#pageEncoding表示页面的编码格式
#图片插入 /web/webapp1目录下
关闭服务,修改主配置文件,在开启服务
[root@server1 opt]# tomcatdown
vi /usr/local/tomcat8/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false"></Context> #添加该行
[root@server1 opt]# tomcatup
[root@server1 opt]# netstat -anpt | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 86709/java
tcp6 0 0 ::1:42086 ::1:8080 TIME_WAIT -
实验效果图
创建主页并修改主页内容
[root@server1 ~]# mkdir -p /web/webapp1/test1
[root@server1 ~]# mkdir -p /web/webapp1/test2
[root@server1 ~]# vi /web/webapp1/test1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("Welcome to test site,http://www.test1.com");%>
<div>动态页面</div><br/><img src="a.jpg">
</body>
</html>
[root@server1 ~]# vi /web/webapp1/test2/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test2 page</title>
</head>
<body>
<% out.println("Welcome to test site,http://www.test2.com");%>
<div>动态页面</div><br/><img src="b.jpg">
</body>
</html>
修改主配置文件
[root@server1 ~]# vi /usr/local/tomcat8/conf/server.xml
146 </Realm>
147
148 <Host name="www.aaa.com" appBase="webapps"
149 unpackWARs="true" autoDeploy="true">
150 <Context docBase="/web/webapp1" path="" reloadable="false"></Context>
151 <!-- SingleSignOn valve, share authentication between web applications
152 Documentation at: /docs/config/valve.html -->
153 <!--
154 <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
155 -->
156
157 <!-- Access log processes all example.
158 Documentation at: /docs/config/valve.html
159 Note: The pattern used is equivalent to using pattern="common" -->
160 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
161 prefix="localhost_access_log" suffix=".txt"
162 pattern="%h %l %u %t "%r" %s %b" />
163 </Host>
164 <Host name="www.bbb.com" appBase="webapps"
165 unpackWARs="true" autoDeploy="true">
166 <Context docBase="/web/webapp1" path="" reloadable="false"></Context>
167 </Host>
168 </Engine>
关闭开启服务,关闭防火墙,核心防护,查看端口号是否开启
tomcatdown
tomcatup
[root@server1 ~]# systemctl stop firewalld.service
[root@server1 ~]# setenforce 0
[root@server1 ~]# netstat -anpt | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 14903/java
本地增加映射
[root@server1 ~]# vi /etc/hosts
20.0.0.10 www.aaa.com www.bbb.com
验证
修改配置文件
</Service>
<Service name="Catalina">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
<Host name="www.test2.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1/test2" path="" reloadable="false" />
</Host>
</Engine>
</Service>
</Server>
[root@server1 ~]# tomcatdown
[root@server1 ~]# tomcatup
[root@server1 ~]# netstat -anpt | grep 8080 ###查看8080端口是否开启
tcp6 0 0 :::8080 :::* LISTEN 51036/java
[root@server1 ~]# netstat -anpt | grep 8081 ###查看8081端口是否开启
tcp6 0 0 :::8081 :::* LISTEN 51036/java
原文链接:https://blog.csdn.net/xwy9526/article/details/109772245
作者:java小王子
链接:http://www.javaheidong.com/blog/article/810/a597b1fd88f41db8e03e/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!