一、tomcat介绍
web网站服务器:
1.apache 入门 ,古老 静态/动态(和tomcat一起使用)
2.nginx 为主,网站用 php python写的 静态
3.tomcat 网站用Java写的 动态
1.1简介
Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。
1.2三者区别
- Apache与Tomcat的比较
相同点:
两者都是Apache组织开发的
两者都有HTTP服务的功能
两者都是免费的
不同点:
- Apache是一个Web服务器环境程序,启用他可以作为Web服务器使用,不过只支持静态网页如(ASP,PHP,CGI,JSP)等,动态网页的就不行。
- 如果客户端请求的是静态页面,则只需要Apache服务器响应请求。 如果客户端请求动态页面,则是Tomcat服务器响应请求。可以理解Tomcat为Apache的一种扩展。
- Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。 实际使用中Apache与Tomcat常常是整合使用
- Nginx与Apache比较
1)nginx相对于apache优点
- Nginx 静态处理性能比 Apache 高 3倍以上 ;
- nginx处理静态文件好,耗费内存少;
- 轻量级,同样起web 服务,比apache占用更少的内存及资源
- apache 相对于nginx 的优点
apache的 rewrite 比nginx 的强大 ;
支持动态页面(tomcat);
支持的模块多,基本涵盖所有应用;
性能稳定,而nginx相对bug较多。
总结:
- Nginx优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于apache;
- Apache优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。Apache是静态解析,适合静态HTML、图片等。
- Tomcat:动态解析容器,处理动态请求,是编译JSP\Servlet的容器,Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。
二、Java介绍
Java语言的一个非常重要的特点就是与平台的无关性。而使用**Java虚拟机**是实现这一特点的关键。一般的高级语言如果要在不同的平台 上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。
Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得**Java语言编译程序**只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
2.1jdk
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
包括:
1 JVM
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
2.JRE
JRE为Java Runtime Environment运行环境的简称,Java Runtime Environment(包括Java Plug-in)是Sun的产品,包括两部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。
2.2Java种类
1.Java SE
标准版本
JavaSE 可以开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。是EE,和ME的基础。一般就是指JDK。就是Java的基础语法(变量、方法、类之间的调用、关系,继承、接口、线程之类的),工具包(java.util.* ),或者其他的一些封装,是学习其他的基础。
2.Java EE
企业版本
JavaEE,其实是一套规范,就是用java语言做企业开发(目前看来就是开发一些动态网站,或者对外提供调用服务的网站,或者其他没接触过的。。。)中的一整套规范,比如类怎么封装,网页的请求要用什么方法处理,语言编码一类的处理,拦截器啊什么的定义,请求返回得有什么信息。。。(具体看servlet的接口就知道了)
比如:tomcat就是按照这套规范开发的容器软件,还有什么weblogic,JBoss、Resin等等
正因为我们开发网站(使用JSP,Servelet。。或者封装了这些的框架:SSH。。。)可以放在tomcat,也可以放在JBoss。。。。,因为都是按照一个规范开发的东西,实际使用的还是JavaSE的那些东西,多出来的就是EE的一些规范类的封装代码。
3.Java ME
微型版本
JavaME 是微型版本,顾名思义,使用在手机啊,小设备啊上面的Java版本,特点就是小,相比JavaSE精简了很大一部分东西,(增加了一些小设备上的专有API,这个不是很确定)。
安卓中既然用的是Java,那么Java的语法应该都是适用的。所以SE是核心基础。其他的都是使用方法方式不同。
三、tomcat,JKD, MySQL 部署
3.1部署Java环境
1.解压jdk 压缩包
给Java做个软链接
2.配置环境变量
vim /etc/profile
立即重启配置文件
3 . 测试
java -version
3.2部署tomcat
1.解压压缩包
软链接:
2.修改环境变量
vim /etc/profile
重启
3.测试
启动tomcat:
bash /usr/local/tomcat/bin/startup.sh
停止tomcat:
bash /usr/local/tomcat/bin/shutdown.sh
通过浏览器访问时,加上端口号8080,如果看到tomcat页面,则部署成功
3.3部署MySQL
1.安装数据库:
yum install -y mariadb-server mariadb
2.修改密码进入数据库(略)
3.创建库
四、网站上线
tomcat主目录介绍:
webapps介绍:
1.解压源码包
unzip jspgouV6-ROOT.zip
2.更改数据库链接:
vim ROOT/WEB-INF/config/jdbc.properties
3.导入数据
4.设置网站目录
将解压后的ROOT目录拷贝到tomcat 下的webapps 里 ,因为ROOT 存放的时站点的根目录。
5.启动tomcat
bash /usr/local/tomcat/bin/startup.sh
网站测试:
再次访问,发现网站部署成功!!!
五、tomcat 同时部署多个网站
和httpd 以及nginx 类似,只需要设置不同端口即可
1.创建目录:
2.修改端口
vim /usr/local/tomcat/instance1/conf/server.xml
3. 启动脚本 编写脚本
vim /usr/local/tomcat/instance1/ins1.sh
给脚本赋权:
chmod +x /usr/local/tomcat/instance/ins1.sh
4.创建网站源码目录
mkdir /webapps
再把启动文件复制一份放到web apps里:
cp -r /usr/local/tomcat/webapps/ROOT/ /webapps/
5.启动tomcat
/usr/local/tomcat/instance/ins1.sh start
6.测试:
这就代表网站部署成功,并且是基于不同端口。
补:
- 网站的配置文件主目录 为 : /usr/local/tomcat/instance
- 网站主目录为 /webapps ,就是在配置文件 vim /usr/local/tomcat/instance1/conf/server.xml 中 设置网站的主目录。
所以网站主目录位置可以自己定
抬头望望天,月亮在笑 😃