前言
什么是JAVA虚拟机
所谓虚拟机,就是一台虚拟的计算机。他是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。大名鼎鼎的VisualBox、VMware就属于系统虚拟机。他们完全是对物理计算机的仿真。提供了一个可以运行完整操作系统的软件平台。
程序虚拟机的典型代表就是Java虚拟机,它专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们称为Java字节码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都呗限制于虚拟机提供的资源中。
JAVA 如何做到跨平台
同一个JAVA程序(JAVA字节码的集合),通过JAVA虚拟机(JVM)运行于各大主流操作系统平台比如Windows、CentOS、Ubuntu等。程序以虚拟机为中介,来实现跨平台。
图示
Tomcat部署
官网地址
tomcat下载地址
http://tomcat.apache.org/
JDK下载地址
http://www.oracle.com/technetwork/java/javase/downloads/index.html
部署
一、Tomcat Http Server
环境
5到8G内存
1. 部署JAVA环境
提示
建议卸载默认安装openjdk软件
①解压安装包
tar xf jdk-8u151-linux-x64.tar.gz -C /usr/local
②多版本部署java
ln -s /usr/local/jdk1.8.0_151/ /usr/local/java
3配置环境变量
vim /etc/profile
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
source /etc/profile
env |grep JAVA
JAVA_HOME=/usr/local/java
4测试java
2. 安装Tomcat:
tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local/
ln -s /usr/local/apache-tomcat-7.0.42/ /usr/local/tomcat
定义Tomcat所需环境变量:
vim /etc/profile
CATALINA_HOME=/usr/local/tomcat
//Tomcat安装目录
export CATALINA_HOME
source /etc/profile
3.启动Tomcat
启动tomcat
#bash /usr/local/tomcat/bin/startup.sh
输出提示
检查端口
# netstat -tnlp |grep java
关于tomcat端口:
8005
是tomcat本身的端口
8080
tomcat负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
8009
tomcat负责和其他的HTTP服务器建立连接。
如nginx和apache互通时使用
访问
http://192.168.0.104:8080/
注意服务器地址,注意端口
浏览器访问tomcat主页。注意关闭防火墙
关闭tomcat(切记,否则你会遇见500)
#bash /usr/local/tomcat/bin/shutdown.sh
4.关于tomcat
[root@web ~]# cd /usr/local/tomcat/
[root@web tomcat]# tree -L 1
.
├── bin #存放tomcat管理脚本
├── conf # tomcat 配置文件存放目录
├── lib # web应用调用的jar包存放路径
├── LICENSE
├── logs # tomcat 日志存放目录,catalina.out 为主要输出日志
├── NOTICE
├── RELEASE-NOTES
├── RUNNING.txt
├── temp # 存放临时文件
├── webapps # web程序存放目录
└── work # 存放编译产生的.java 与 .class文件
[root@web03 tomcat]# cd webapps/
[root@web03 webapps]# tree -L 1
.
├── docs # tomcat 帮助文档
├── examples # web应用示例
├── host-manager # 主机管理
├── manager # 管理
└── ROOT # 默认站点根目录
默认网站的主目录(主页)
ls /usr/local/tomcat/webapps/ROOT
[root@web03 conf]# tree -L 1
.
├── Catalina
├── catalina.policy
├── catalina.properties
├── context.xml
├── logging.properties
├── logs
├── server.xml # tomcat 主配置文件
├── server.xml.bak
├── server.xml.bak2
├── tomcat-users.xml # tomcat 管理用户配置文件
├── tomcat-users.xsd
└── web.xml
仅作了解
二、安装MySQL
1.创建数据库:
创建jspgou数据库,字符集为utf-8
yum install -y mariadb-server mariadb
该步骤出错。请您检查YUM源配置
# systemctl start mariadb
[root@localhost ~]# mysqladmin -u root password 123
注意如果有密码
mysqladmin -u root -p老密码 password 新密码
[root@localhost ~]# mysql -u root -p123
MariaDB [(none)]> create database jspgou character set = utf8;
三、部署jspgou(电子商城)
1.解压源码包
unzip jspgouV6-ROOT.zip
2.更改数据库链接:
提示:在解压缩后的文件中,修改连接数据库的信息
[root@localhost ~]# vim ROOT/WEB-INF/config/jdbc.properties
jdbc.url=jdbc:mysql://127.0.0.1:3306/jspgou?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123
3.导入数据:
[root@localhost ~]# mysql -u root -p123 -D jspgou < DB/jspgou.sql
使用MYSQL数据库时,会发生的错误
使用mysql作为数据库时,如果导入数据失败
1.修改mysql配置文件
my.cnf中max_allowed_packet参数为64m,默认为1m
2.DB/jspgou.sql里面的默认值改一下
把所有datetime类型的字段默认值改成CURRENT_TIMESTAMP
将程序解压后的ROOT文件夹,拷贝到tomcat安装目录下的webapps文件夹下
[root@localhost ~]# \cp -r ROOT /usr/local/tomcat/webapps/
不使用cp 的别名。 alias cp=‘cp -i’
4.部署网站:
启动tomcat
#bash /usr/local/tomcat/bin/startup.sh
输入以下地址
http://192.168.75.226:8080/jeeadmin/jspgou/index.do
注意服务器地址
用户名:admin
密 码:123456
图示
点击上图右上角浏览器图标访问网站首页
Tomcat多实例
关闭主站
bash /usr/local/tomcat/bin/shutdown.sh
准备多实例主目录
mkdir /usr/local/tomcat/instance{1…3}
制作实例工作目录
cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance1/
# cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance2/
# cp -r /usr/local/tomcat/{conf,logs,temp,work} /usr/local/tomcat/instance3/
查看目录结构
[root@www ~]# tree -d -L 2 /usr/local/tomcat/
修改端口
将web配置文件拷贝三份。分别修改为不同端口
vim /usr/local/tomcat/instance1/conf/server.xml
服务端口 8080 替换成 8081
修改前
修改后
程序工作端口:8005替换成 8091
修改前
修改后
网站目录:webapps 替换成 另一个目录
修改前
修改后
其他两个也相应不同修改
启动脚本
vim /usr/local/tomcat/instance1/ins1.sh
#!/bin/bash
#instance1
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance1"
case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac
export JAVA_OPTS='-Xms64m -Xmx128m'
vim /usr/local/tomcat/instance2/ins2.sh
#!/bin/bash
#instance2 #####
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance2" #####
case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac
vim /usr/local/tomcat/instance3/ins3.sh
#!/bin/bash
#instance3
. /etc/init.d/functions
export CATALINA_BASE="/usr/local/tomcat/instance3"
case "$1" in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
esac
export JAVA_OPTS='-Xms64m -Xmx128m'
赋权
chmod +x /usr/local/tomcat/instance1/ins1.sh
# chmod +x /usr/local/tomcat/instance2/ins2.sh
# chmod +x /usr/local/tomcat/instance3/ins3.sh
网站源码
mkdir /webapps
cp -r /usr/local/tomcat/webapps/ROOT/ /webapps/
启动
/usr/local/tomcat/instance1/ins1.sh start
# /usr/local/tomcat/instance2/ins2.sh start
# /usr/local/tomcat/instance3/ins3.sh start
等5秒
测试
netstat -antp | grep 8081
浏览
http://192.168.75.226:8081
http://192.168.75.226:8082
http://192.168.75.226:8083