使用maven编译java项目,测试
1:安装maven,二进制
下载maven
wget http://192.168.13.120/191118/apache-maven-3.6.1-bin.tar.gz
解压
tar xf apache-maven-3.6.1-bin.tar.gz -C /usr/local
ln -s /usr/local/apache-maven-3.6.1/ /usr/local/maven
给maven配置环境变量
vim /etc/profile
...
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:$PATH
source /etc/profile #环境变量生效
2: java项目的源码
wget http://192.168.13.120/191118/SpringBootWeb.tar.gz
tar xf SpringBootWeb.tar.gz
SpringBoot java开发框架
3:使用maven编译打包
cd SpringBootWeb
mvn package 打包
mvn clean package 先清理缓存文件,再打包
maven源加速:
vim /usr/local/maven/conf/settings.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4:部署war包
cp target/SpringBootWeb.war /app/apache-tomcat-8.0.27/webapps2/
5.配置多站点目录,新增一个Host
配置conf/server.xml 增加一个Host
<Host name="session.oldqiang.com" appBase="webapps2"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="session_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
zabbix安装,监控Tomcat
1.安装zabbix
ip地址:10.0.0.71 硬件配置:1c1g 主机名:zabbix-server
1:配置zabbix yum仓库
wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
[root@zabbix-server ~]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
2:安装zabbix服务端和zabbix-web前端
yum install zabbix-server-mysql zabbix-web-mysql -y
3:安装mariadb,创建zabbix库,授权zabbix用户
yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
回车
n
一路y
mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
导入zabbix表结构和初始数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix
检查zabbix库是否导入成功
mysql -uroot zabbix -e 'show tables'
4:配置启动zabbix-server
vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
启动zabbix-server
systemctl start zabbix-server
systemctl enable zabbix-server
检查:
netstat -lntup
5:修改Zabbix前端的PHP配置,并启动httpd
vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
systemctl start httpd
systemctl enable httpd
6:前端zabbix-web的安装
浏览器:http://10.0.0.61/zabbix
后期修改zabbix数据库密码的时候,需要修改的配置文件:
/etc/zabbix/web/zabbix.conf.php
http://10.0.0.61/zabbix/zabbix.php
登录的账号密码;
Admin
zabbix
2.在zabbix上安装java-gateway
#安装 zabbix-java-gateway
yum install zabbix-java-gateway.x86_64 -y
#配置zabbix-server和zabbix-java-gateway
vim /etc/zabbix/zabbix_java_gateway.conf
START_POLLERS=5
------------
vim /etc/zabbix/zabbix_server.conf
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
#启动服务
systemctl restart zabbix-java-gateway.service
systemctl restart zabbix-server.service
3.在tomcat服务器上的catalina.sh脚本添加一条监控信息
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=10.0.0.72 #改tomcat本机Ip地址
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
Java内存问题
年轻代: 年轻代内存满了,就会触发年轻代 内存回收,局部,存活下的对象存到年老代
年老代: 年老代内存满了,就会触发全局 内存回收,全部
jvm 内存垃圾回收,是不可避免!
垃圾回收的次数尽可能少:增加内存的容量
垃圾回收的时间尽可能短:减少内存的容量
年轻代最小内存==年轻代最大内存
年老代最小内存==年老代最大内存
堆内存==1年轻代64M+3年老代192M 256M
非堆内存== 持久代
JAVA_OPTS="$JAVA_OPTS -server -Xms3G -Xmx3G -Xss256k -XX:PermSize=128m -XX:MaxPermSize=128m -XX:+UseParallelOldGC -XX:NewSize=1G -XX:MaxNewSize=1G"
xms:最小堆内存
Xmx:最大堆内存
-Xss 线程栈的大小
-XX:NewSize 年轻代的最小内存
-XX:MaxNewSize 年轻代的最大内存
-XX:PermSize: 持久代最小内存
-XX:MaxPermSize: 持久代最大内存