这是我安装实施weblog时自总结的笔记。今天发布在博客上。由于个人知识的局限性。难免会有错误的地方。欢迎指正,共同学习。谢谢。
另外我总结的也有Word格式的笔记。Word格式笔记目录和排版更清晰。如有需要学习的朋友请私信我、或评论留邮箱获取。
Word笔记目录如截图:
中间件:
一组介于应用服务器和数据库服务器之间的辅助服务器。
功能:
接受前端应用服务器的数据库访问请求,汇总后,一次性连接数据库,完成操作。即一次连接,执行多次操作,从而减少对数据库服务器的访问请求,提供集群效率。
常用软件:
Weblogic, was, tomcat , tuxdo
Weblogic :
ORACLE公司推出的中间件软件。
版本:
BEA WLS 10.0.X —-针对Oracle 10x
WLS 10.3.X —-针对Oracle 11g
WLS 12c —针对Oracle 12c
基本概念:
Weblogic 是使用java开发的
Machine 物理主机,即物理服务器
Domain 域,一个服务环境,完成项目服务功能,域中加入多台machine
Server 服务器,可认为是一台虚拟机。
一段独立的,一个承载应用和资源的、可配置的、健壮的、多线程的Java应用程序
前段客户请求到达域后,有server响应处理,域中可以有N多个server
Cluster 集群:多个server组成一个集群,完成一个服务功能,可实现负载均衡。
Server 分类:
Admin server 管理服务器,负载管理域中的所有内容。
人为通过admin server 管理整个域。
一般admin server 不做客户响应,专做管理。
Managed server 被管理服务器,专用于响应前端客户访问。
Weblogic 一个域的所有配置信息,都存放在admin server内,managed server 初次启动,需要到admin server上下载自己的配置信息,接受工作并记录到自己的配置文件中,之后启动,若配置没有变化,就不需要启动admin server
1.上传资料:到根目录
jdk-6u45-linux-x64.bin
wls1036_generic.jar
如图:
2.安装JDK
# cd /
# chmod a+x jdk-6u45-linux-x64.bin --增加执行权限
# ./ jdk-6u45-linux-x64.bin --运行安装包,即解压到 / 下
目的:安装JDK到 / 下,安装路径,/ jdk1.6.0_45/
1.使用JDK安装weblogic
# cd / JDK1.6.0_45 /bin
# Java –jar / wls1036_generic.jar –mode=console -log= /testdir001
-mode=console ---指定字符界面安装
-log=testdir001 ---指定安装日志的路径
===============安装过程大致如下=========
指定安装目录:/weblogic
3
是否接收安装更新,选no
yes
默认
选择安装类型,选 定制 可见将要安装的具体包,输入[]中的数字可选中或取消
指定jdk安装路径,添加为本机的jdk路径,如:/jdk1.6.0_45,取消自带的路径
默认
2
默认
确认路径 确认 安装包
开始安装
============安装完成============
1.创建域:
cd /weblogic/wlserver_10.3/common/bin
./config.sh -mode=console —运行配置脚本,创建域,字符界面安装
安装流程如下:
1 默认
1 默认模板
可用模板:默认1
默认名字:编辑名字:例如:AIXdomain
确认
目标位置:
管理员配置:账号(默认weblogic),密码:选择2
密码八位:12345678
确认密码:3
确认:12345678
域模式配置:1.开发模式,2.生产模式,选择2即可
java JDK 选择:默认14
选择可选配置:选择1和2:1:管理服务器 2:受管服务器,集群和计算机。
配置管理服务器:默认名:adminserver不需要改,2:改地址 3.端口7001不用改
输入地址IP:192.168.。。。。
配置值受管服务器:配置名字,如:ms1, 地址IP:192.168.。。:端口7003不用改(7002ssh备用),5完成
配置值受管服务器:配置名字,如:ms2, 地址IP:192.168.。。:端口改7004,5完成
配置集群: 暂时不配置,直接下一步
配置计算机(machine): 暂时不配置,直接下一步
配置Unix计算机(machine):暂时不配置,直接下一步
正在创建:》》域创建成功。
2.域的配置文件:
cd /weblogic/user_projects/domains/aixdomain/config
路径下有配置文件:config.xml,有ms1和ms2的配置
3.启动域:
cd /weblogic/user_projects/domains/aixdomain/
./startWebLogic.sh --实际调用./bin/下的startWebLogic.sh
启动过程中:输入管理员账号weblogic,密码:12345678
浏览器输入:http://192.168.11.11:7001/console
—浏览器登录admin server,打开的界面称为管理控制台
—-在控制台也可以配置受管服务器,如配置ms3,
=> 左上侧,点击,锁定并编辑, 进行解锁界面
=>左侧–点环境–服务器–主界面–可看到所有server
=>点 新建– 新建ms3,IP:192.168.11.11, 端口:7005 完成
=> 左上册 点 激活并保存。也会写入配置文件config.xml
4.启动被管server:
cd /weblogic/user_projects/domains/aixdomain/bin
./startManageWebLogic.sh ms1 http://192.168.11.11:7001
启动过程中:输入管理员账号weblogic,密码:12345678
去浏览去刷新
定制界面—选择–应用
5.后台启动:
后台启动:admin server, manage server
cd /weblogic/user_projects/domains/aixdomain/servers
①:
cd AdminServer
mkdir security
cd security
vim boot.properties 内容如下(以后会变成乱码)
username=weblogic
password=12345678
保存退出:
②:
ms1 和ms2配置方式相同。Cp拷贝过去即可
cd /weblogic/user_projects/domains/aixdomain/servers
cp -r AdmiServer/serurity/ ./ms1
③:
./startWebLogic.sh & ----这种方法不好,后台信息会输入到前台。
nohup :用户注销。进程不关闭
jobs ---看后台
ps ----看进程
kill -9 进程号 ---杀进程
nohub ./startWebLogic.sh &
nohub ./startManageWebLogic.sh ms1 http://192.168.11.11:7001 &
------ /weblogic/user_projects/domains/aixdomain/bin下有nohub.out文件记录日志
记录日志到不同文件:
cd /weblogic/user_projects/domains/aixdomain/bin
nohub ./startWebLogic.sh >> adminserver.out &
nohub ./startManageWebLogic.sh ms1 http://192.168.11.11:7001 >>ms1.out &
servlet
jdbc
weblogic 除了当中间件使用,也有web的功能,可以发布网页,可以代替Apache
负载均衡:
前端:lvs
oracle: orc
通过部署应用,来承接前端应用服务器的数据访问请求。
由于前端服务器对客户提供的服务方式不同。所以weblog上也要部署相应的应用程序:如:前端web服务器,发布jsp网页,weblogic需要部署servlet应用。
实验:
上传testWLS资料到 /wang123
浏览器:登录管理控制台
上侧–解锁-左侧–部署–安装–输入安装包路径–选择安装包–按默认选项–直至完成–启动 –激活更改
控制–页中–启动 应用 测试页–测试是否成功(I ove weblogic)
weblogic连接数据库
步骤:
Oracle服务器开启数据库
IE登录到管理控制台=>解锁界面=>左侧,点 服务=>点 数据源=>新建
=>选 一般数据源(即单server的JDBC,其他的Grid… 和多数据源是配给集群的)
=>配置 数据源名 school_Oracle,JNDI(给客户方显示的名字,一般和数据源名一样)
,选 数据库类型为 Oracle
=>选 数据库驱动程序,默认值 => 事务处理,默认
=>配置Oracle数据库的信息: 库名:SchoolManage Oracle ip:192.168.10.100
端口:1521 登录SchoolManage的用户、密码(注:只可用普通用户,不可用DBA账号)
=>测试连接:
Oracle数据库服务器: 关闭防火墙,开启监听器,启动schoolmanage库
新建用户xbh,给用户授权(create session,reource,create table)
=>指定部署到哪个managed server上,即给该server上部署的应用程序使用
允许部署到多个managed server上
=>激活更改
jdbc是一段java程序,负责连接数据库,向数据库发送sql语句,并接受结果。
jdbc进程,开启多个线程,连接数据库,称为连接线程池
线程池中,会开启固定数量的线程。保持数据库连接。前端访问到达后,会从线程池中占用一个未被使用的线程,访问数据库。线程不足时,会开启新线程,线程池有最大值,达到最大值时。新的访问请求将排队等待。
浏览器管理控制台:
数据源–点进建立的数据源–配置页下的–连接池页–设置线程池
初始容量:jdbc开启后初始的线程个数
netstat -n |grep 1521 –查看1521连接状态
最大容量:线程池中最大的线程数
最小容量:线程不够的时候开启新线程连接,访问结束,当关闭多余线程时。留下的线程数
语句高速缓存大小:最多缓存多少条客户sql语句
点 高级 展开高级页面:
测试频率:线程池中未被前端使用的线程,每多少秒测试下数据库连接
测试表名称,
信任空闲池连接的秒数(10):上次测试过后,在信任时间内,该线程别用户使用,不需要再测试,步骤信任时间内,该线程被用户使用,需要再做测试
收缩频率(900):jdbc每多少秒,扫描所有线程,关闭断开访问却没有被是释放的线程。
注:如果数据源部署到多个manage server时。线程池设置是每个managed server 都遵守一套设置的
例:如jdbc部署到ms1和ms2上,连接池初始5个连接。最大20个连接,。则ms1上初始5个,ms2上初始5个,Oracle服务器实际初始连接数10个。最大40个。
查看manage server信息
—–线程使用状态
浏览器登录到管理控制台
左侧–环境–环境–服务器–ms1—
–监视 页 –线程
执行线程总数:本server运行开启的最大线程数
活动线程数:已开启并保持连接的线程数
空闲线程数:开启后,未被使用的线程数
队列长度:使用到最大线程后,新的客户访问处于排队等待状态下的个数
独占线程:访问占据一个线程后,600秒没有关闭,则转入独占内存状态(独占线程过多,需要查看原因,)
—性能 页
正常值:空闲率:50%–60%
故障值:空闲率<20%
点击: 垃圾回收, 清理内存垃圾,称为GC
日志查看:
cd /weblogic/user_projects/domains/aixdomain/servers/下
每个server路径下,有log日志文件
查找死锁线程—僵尸线程 stuck thread
如常查看manage server 性能时,发现独占线程给过多,内存空间率较低,
多次GC后,内存优化效果明显。
方法1:
重启manage server
ps -ef |grep ms1 –查看ms1的进程,PID
kill -9 –关闭
关闭后,在nohup重启进程。
方法2:
做线程快照,thread dump
ps -ef |grep ms1 –查看ms1的进程,PID
kill -3 PID /stuck.log —提取进程在内存中的数据信息,把该信息文档提交给开发组或者中间件组,查找故障原因。