也叫:Java容器,web容器,web中间件
Apache 工作目录: /var/www/html
nginx 工作目录: /usr/share/nginx/html
Tomcat 工作目录: /usr/local/tomcat/webapps/
问题:源码安装的nginx,如何制作nginx启动脚本,并设置开机启动。
Tomcat部署:
一、Tomcat Http Server
1. 部署JAVA环境
# tar xf jdk-8u151-linux-x64.tar.gz -C /usr/local
2多版本部署java 更换版本时把新版本的指向Java
# ln -s /usr/local/jdk1.8.0_151/ /usr/local/java
Tomcat的安装:JDK Tomcat
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
# java -version
二、安装MySQL
1.创建数据库:
创建jspgou数据库,字符集为utf-8
# yum install -y mariadb-server mariadb
# 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.导入数据
# mysql -uroot -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.0.104:8080/jeeadmin/jspgou/index.do
注意服务器地址
用户名:admin
密 码:123456
Tomcat多实例
1.关闭主站
# bash /usr/local/tomcat/bin/shutdown.sh
2.准备多实例主目录
mkdir /usr/local/tomcat/instance{1..3}
3.制作实例工作目录
# 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/
/usr/local/tomcat/
4.修改端口
将web配置文件拷贝三份。分别修改为不同端口
# vim /usr/local/tomcat/instance1/conf/server.xml
1.
服务端口 8080 替换成 8081
修改前
<!-- <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> -->
修改后
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2.
<!-- <Server port="8005" shutdown="SHUTDOWN"> -->
程序工作端口:8005替换成 8091
<Server port="8091" shutdown="SHUTDOWN">
3.
appBase="webapps"
网站目录:webapps 替换成 另一个目录
appBase="/webapps"
cp /usr/local/tomcat/instance1/conf/server.xml /usr/local/tomcat/instance2/conf/
服务端口 替换成 8082
程序工作端口 替换成 8092
cp /usr/local/tomcat/instance1/conf/server.xml /usr/local/tomcat/instance3/conf/
服务端口 替换成 8083
程序工作端口 替换成 8093
5.启动脚本
# vim /usr/local/tomcat/instance1/ins1.sh functions系统自带脚本。功能函数
#!/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'
# cp /usr/local/tomcat/instance1/ins1.sh /usr/local/tomcat/instance2/ins2.sh (修改路径)
# cp /usr/local/tomcat/instance1/ins1.sh /usr/local/tomcat/instance3/ins3.sh (修改路径)
6.赋权
# chmod +x /usr/local/tomcat/instance1/ins1.sh
# chmod +x /usr/local/tomcat/instance2/ins2.sh
# chmod +x /usr/local/tomcat/instance3/ins3.sh
7.网站源码
# mkdir /webapps
cp -r /usr/local/tomcat/webapps/ROOT/ /webapps/
8.启动
# /usr/local/tomcat/instance1/ins1.sh start
# /usr/local/tomcat/instance2/ins2.sh start
# /usr/local/tomcat/instance3/ins3.sh start
9.测试
# netstat -antp | grep 8081
8082
8083
8091
8092
8093
JVM常用分析工具(扩展)
jps
简介
用来查看所有的jvm进程,包括进程ID,进程启动的路径等。
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
ps命令我们经常用到,这个命令主要是用来显示当前系统的进程情况。比如有哪些进程及其 id。jps命令也是一样,它的作用是显示当前系统的java进程情况及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例)以及他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。
语法
jps [-q] [-mlvV] [<hostid>]
-q 安静,只显示pid,不显示class名称,jar文件名和传递给main 方法的参数
-m 输出传递给main 方法的参数,在嵌入式jvm上可能是null
-l (显示完整路径)
-v (显示传递给JVM的命令行参数)
-V (显示通过flag文件传递给JVM的参数)
hostid是主机id,默认localhost
例子
# jps
4214 Bootstrap
18096 jar
26423 Jps
默认显示 进程ID 和 启动类的名称。
# jps -q -q 只输出进程ID,而不显示出类的名称
# jps -m -m 可以输出传递给 Java 进程(main 方法)的参数
# jps -l -l 可以输出主函数的完整路径(类的全路径)。
# jps -v -v 可以显示传递给 Java 虚拟机的参数。
# jps -V -V 显示通过flag文件传递给JVM的参数
4214 Bootstrap
26512 Jps
18096 jar
jinfo
jstack
jstat
jmap
JVM运维实用监控工具(扩展)
简介
VisualVM 是一款免费的性能分析工具。它通过 jvmstat、JMX、SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的性能分析。同时,它能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度。
性能分析的主要方式
监视
转储
性能分析
快照