目录
一、前言
1.什么是JAVA虚拟机
所谓虚拟机,就是一台虚拟的计算机。他是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。VisualBox、VMware就虚与系统虚拟机。他们完全是对物理计算机的仿真。提供了一个可以运行完整操作系统的软件平台。
程序虚拟机的典型代表就是JAVA虚拟机,他专门为执行单个计算机程序而设计,在JAVA虚拟机中执行的指令我们称为Java字节码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。
2.JAVA如何做到跨平台
同一个JAVA程序(JAVA字节码的集合),通过JAVA虚拟机(JVM)运行于各大主流操作系统平台比如Windows、CentOS、Ubuntu等。程序以虚拟机为中介,来实现跨平台。
二、Tomcat部署
1.名词解释(Java容器、Web容器、Web中间件)
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最新的Servlet和JSP 2.0规范。因为Tmocat技术先进、性能稳定,并且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Resin是CAUCHO公司的产品,是一个非常流行的支持Servlet和JSP的引擎,速度非常快。Resin本身包含了一个支持HTTP/1.1的WEB服务器。它不仅可以显示动态内容,而且他显示静态内容的能力也非常强,速度直逼ApacheServer。许多站点都是使用该WEB服务器构建的。
JBoss是一个基于J2EE的开放源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。但JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.O和EJB 3的规范。但JBoss核心服务不包括支持Serverlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
WebSphere是IBM的软件平台。它包含了编写、运行和监视全天候的工业强度的的随需应变Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere提供可靠、灵活和健壮的软件。
WebLogic是美国Oracle公司出品的一个applicatiion server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
2.官网地址
Tomcat下载地址 Apache Tomcat® - Welcome!
JDK下载地址 Java Downloads | Oracle
3.架构
方案一: Tomcat
方案二 :
4.部署(内存6-8G)
4.1Tomcat Http Server
4.1.1部署JAVA环境
提示:建议卸载默认安装openjdk软件
yum list | grep openjdk #看一下有没有安装openjdk
- 解压安装包(官网下载安装包,然后rz传到虚拟机上)
[root@localhost local]# pwd /usr/local [root@localhost local]#rz [root@localhost local]# ls bin games lib libexec share etc include jdk-8u241-linux-x64.tar.gz lib64 sbin src [root@localhost local]# tar -zxvf jdk-8u241-linux-x64.tar.gz #解压安装包 [root@localhost local]# ls bin games jdk1.8.0_241 lib libexec share etc include jdk-8u241-linux-x64.tar.gz lib64 sbin src [root@localhost local]# ln -s /usr/local/jdk1.8.0_241/ /usr/local/java #做个软连接 [root@localhost local]# ll total 0 drwxr-xr-x. 2 root root 6 Apr 11 2018 bin drwxr-xr-x. 2 root root 6 Apr 11 2018 etc drwxr-xr-x. 2 root root 6 Apr 11 2018 games drwxr-xr-x. 2 root root 6 Apr 11 2018 include lrwxrwxrwx. 1 root root 24 Oct 1 03:53 java -> /usr/local/jdk1.8.0_241/ drwxr-xr-x. 7 10143 10143 245 Dec 11 2019 jdk1.8.0_241 drwxr-xr-x. 2 root root 6 Apr 11 2018 lib drwxr-xr-x. 2 root root 6 Apr 11 2018 lib64 drwxr-xr-x. 2 root root 6 Apr 11 2018 libexec drwxr-xr-x. 2 root root 6 Apr 11 2018 sbin drwxr-xr-x. 5 root root 49 Aug 23 05:45 share drwxr-xr-x. 2 root root 6 Apr 11 2018 src
- 配置环境变量
[root@localhost ~]# vim /etc/profile JAVA_HOME=/usr/local/java PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH [root@localhost ~]# source /etc/profile [root@localhost ~]# env | grep JAVA JAVA_HOME=/usr/local/java [root@localhost ~]# java -version java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
4.1.2安装Tomcat
- 解压安装包(我是在阿里云镜像站下载的tomcat包)
[root@localhost ~]# rz [root@localhost ~]# ls anaconda-ks.cfg apache-tomcat-8.5.82.tar.gz [root@localhost ~]# tar xf apache-tomcat-8.5.82.tar.gz -C /usr/local/ [root@localhost ~]# cd /usr/local/ [root@localhost local]# ls apache-tomcat-8.5.82 etc include jdk1.8.0_241 lib64 sbin src bin games java lib libexec share [root@localhost local]# ln -s /usr/local/apache-tomcat-8.5.82/ /usr/local/tomcat [root@localhost local]# ll total 0 drwxr-xr-x. 9 root root 220 Oct 1 04:13 apache-tomcat-8.5.82 drwxr-xr-x. 2 root root 6 Apr 11 2018 bin drwxr-xr-x. 2 root root 6 Apr 11 2018 etc drwxr-xr-x. 2 root root 6 Apr 11 2018 games drwxr-xr-x. 2 root root 6 Apr 11 2018 include lrwxrwxrwx. 1 root root 24 Oct 1 03:53 java -> /usr/local/jdk1.8.0_241/ drwxr-xr-x. 7 10143 10143 245 Dec 11 2019 jdk1.8.0_241 drwxr-xr-x. 2 root root 6 Apr 11 2018 lib drwxr-xr-x. 2 root root 6 Apr 11 2018 lib64 drwxr-xr-x. 2 root root 6 Apr 11 2018 libexec drwxr-xr-x. 2 root root 6 Apr 11 2018 sbin drwxr-xr-x. 5 root root 49 Aug 23 05:45 share drwxr-xr-x. 2 root root 6 Apr 11 2018 src lrwxrwxrwx. 1 root root 32 Oct 1 04:14 tomcat -> /usr/local/apache-tomcat-8.5.82/
- 定义Tomcat所需环境变量
[root@localhost local]# vim /etc/profile CATALINA_HOME=/usr/local/tomcat export CATALINA_HOME [root@localhost local]# source /etc/profile
4.1.3启动Tomcat
[root@localhost ~]# bash /usr/local/tomcat/bin/startup.sh #启动Tomcat Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started. [root@localhost ~]# netstat -tnlp | grep java #检查端口 tcp6 0 0 :::8080 :::* LISTEN 1779/java #tomcat 负责建立连接。在通过浏览器访问tomcat服务器的web应用时,使用的就是这个连接器。 tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1779/java
访问 http://192.168.172.151:8080/ 浏览器访问tomcat主页,注意关闭防火墙
systemctl stop firewalld
setenforce 0
- 关闭Tomcat(切记,否则会遇到500)
[root@localhost ~]# bash /usr/local/tomcat/bin/shutdown.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: [root@localhost ~]# netstat -tnlp | grep java #这里将看不到端口
4.1.4关于Tomcat
- Tomcat主目录介绍
[root@localhost ~]# cd /usr/local/tomcat/ [root@localhost tomcat]# tree -L 1 . ├── bin #存放tomcat管理脚本 ├── BUILDING.txt # ├── conf #tomcat配置文件存放目录 ├── CONTRIBUTING.md ├── lib #web应用调用的jar包存放路径 ├── LICENSE ├── logs #tomcat日志存放目录,catalina.out为主要输出日志 ├── NOTICE ├── README.md ├── RELEASE-NOTES ├── RUNNING.txt ├── temp #存放临时文件 ├── webapps #web程序存放目录 └── work #存放编译产生的.java与.class文件
- webapps目录介绍
[root@localhost webapps]# tree -L 1 . ├── docs #tomcat帮助文档 ├── examples #web应用示例 ├── host-manager #主机管理 ├── manager #管理 └── ROOT #默认站点根目录
4.2安装MySQL
[root@localhost ~]# yum install -y mariadb-server mariadb
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysqladmin -uroot password 123
[root@localhost ~]# mysql -uroot -p123
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> create database jspgou character set = utf8;
Query OK, 1 row affected (0.00 sec)
4.3部署jspgou(电子商城)
[root@localhost ~]# rz
[root@localhost ~]# ls
anaconda-ks.cfg apache-tomcat-8.5.82.tar.gz jspgouV6-ROOT.zip
[root@localhost ~]# unzip jspgouV6-ROOT.zip #解压源码包
[root@localhost ~]# ls
anaconda-ks.cfg apache-tomcat-8.5.82.tar.gz DB jspgouV6-ROOT.zip ROOT 必读.txt
- 更改数据库连接
在解压缩后的文件中,修改连接数据库的信息
[root@localhost ~]# vim ROOT/WEB-INF/config/jdbc.properties #更改数据库链接 #mysql\u914d\u7f6e jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/jspgou?characterEncoding=UTF-8 jdbc.username=root jdbc.password=123
- 导入数据
[root@localhost ~]# mysql -uroot -p123 -D jspgou < DB/jspgou.sql [root@localhost ~]# ls DB/ jspgou.sql [root@localhost ~]# \cp -r ROOT /usr/local/tomcat/webapps/ #将程序解压后的ROOT文件夹,拷贝到tomcat安装目录下的webapps文件夹下 #\cp是不使用cp的别名。alias cp='cp -i'
- 部署网站
#启动tomcat [root@localhost ~]# /usr/local/tomcat/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.
访问网站http:192.168.172.151:8080
访问http:192.168.172.151:8080/jeeadmin/jspgou/index.do
用户名:admin 密码:123456