[code="java"]
1 配置环境变量
修改/etc/sysctl.conf
vi /etc/sysctl.conf
net.ipv4.tcp_max_syn_backlog = 1024
kernel.msgmni = 1024
kernel.sem = 1000 32000 32 512
fs.file-max = 100000
kernel.shmmax = 2147483648
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
(4)sem:该参数表示设置的信号量。
(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
1.2、让配置立即生效
# /sbin/sysctl -p
2.修改/etc/security/limits.conf
vi /etc/security/limits.conf
确认包含下面的内容:
* soft nofile 65536
* hard nofile 65536
修改后,用ulimit -n确认修改已生效
3. 出现乱码
修改自定义用户的.bash_profile,设定语言环境变量为zh_CN, 即在该文件中添加如下内容:
LANG=zh_CN;
export LANG
执行. .bash_profile使修改生效
用户环境变量中NLS_LANG,如果没有,则添加:
# ORACLE NLS charset, for chinese
NLS_LANG=American.ZHS16GBK;export NLS_LANG
否则将会出现中文在数据库中乱码的现象。
4. JBOSS安装配置
假设取得JBOSS安装包名称为jboss4.0.5GA.tar.gz
1) 用widgetpas用户登录系统
2) 将jboss4.0.5GA.tar.gz复制到当前目录并解压:执行tar -xzvf jboss4.0.5GA.tar.gz
3) 上一步应当生成一个名为jboss4.0.5GA的目录,具体目录名称可能与压缩包有关,检查目录下应当由bin、server、lib、docs、client几个目录
4) 进入jboss4.0.5GA/bin目录,执行chmod +x *.sh
5) 修改自定义用户的.bash_profile,设定环境变量JBOSS_HOME指向jboss4.0.5GA, 即在该文件中添加如下内容:
JBOSS_HOME=/xx/xx/xx/xx/jboss4.0.5GA
export JBOSS_HOME
6) 执行. .bash_profile使修改生效
5. JDK安装
JDK安装视安装包的不同而不同。使用自定义用户登录系统并执行安装过程,确保JDK安装在$HOME目录下,假设安装成功后的目录为jdk1.5,
其目录下应该有bin、demo、jre、lib等目录。
安装成功后,执行如下操作:
1) 修改自定义用户的.bash_profile,设定环境变量JAVA_HOME指向jdk1.5 即在该文件中添加如下内容:
JAVA_HOME=/xx/xx/xx/xx/jdk1.5
export JAVA_HOME
2) 执行. .bash_profile使修改生效
5.Jboss:oracle-ds.xml配置文件
复制$JBOSS_HOME/docs/examples/jca/oracle-ds.xml 到${SERVER_PATH}/deploy目录
1) 修改${SERVER_PATH}/deploy/oracle-ds.xml,修改如下内容:
<jndi-name>OracleDS</jndi-name>
<connection-url>jdbc:oracle:thin:@youroraclehost:1521:yoursid</connection-url>
<user-name>x</user-name>
<password>y</password>
<password>y</password>
<use-java-context>false</use-java-context>
当你指定<use-java-context>的值为false时,你就可以在jboss运行的VM外的VM上查找到这个DataSource.
4.3.2 修改JBOSS配置
1) 修改${SERVER_PATH}/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml,检查如下内容:
<attribute name="Java2ClassLoadingCompliance">false</attribute>
<attribute name="UseJBossWebLoader">false</attribute>
确保以上两个值都为false,如不是,修改之。
2) 修改${SERVER_PATH}/conf/jboss-service.xml, ,检查如下内容:
<mbean code="org.jboss.logging.Log4jService" name="jboss.system:type=Log4jService,service=Logging"
xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
<attribute name="ConfigurationURL">resource:log4j.xml</attribute>
<!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
this needs to be set to avoid a possible deadlock on exception at the
appender level. See bug#696819.
-->
<attribute name="Log4jQuietMode">true</attribute>
<!-- How frequently in seconds the ConfigurationURL is checked for changes -->
<attribute name="RefreshPeriod">60</attribute>
<attribute name="CatchSystemOut">false</attribute>
</mbean>
确保CatchSystemOut的值false,如果不存在,则添加并使之为false;
PS: 1),2)针对app与jboss的log4j冲突问题。
3) 修改${SERVER_PATH}/deploy/jbossweb-tomcat55.sar/conf/web.xml
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--Should directory listings be produced if there-->
<!--is no welcome file in this directory? [true] -->
listings 默认为 true;应改为false. 如果目录没有欢迎文件,就展示目录列表。
4) JBOSS 热部署 修改jboss-4.0.4RC1\server\default\deploy\jbossweb-tomcat55.sar\context.xml
在jboss中做热部署也有两种方法,因为jobss集成了tomcat,也可以说这两种方法是在jobss上的一个修改。
<Context cookies="true" crossContext="true" antiResourceLocking="true" antiJARLocking="true">
<Manager pathname=""/>
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
加上这一部分[antiResourceLocking="true" antiJARLocking="true"],重启jboss,再用myeclipse Redeploy project的时候就不需要重启,部署完了直接开浏览器预览啦
5) 配置监听端口 修改${SERVER_PATH}/deploy/jbossweb-tomcat55.sar/server.xml,
将如下内容注释掉:
<Connector port="8009" address="${jboss.bind.address}"
emptySessionPath="true" enableLookups="false" redirectPort="8443"
protocol="AJP/1.3"/>
并修改如下段落中的port值,指定服务器HTTP监听端口:
<Connector port="端口" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
6) JBOSS目录
检查如下内容:
<mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"
name="jboss.management.local:j2eeType=J2EEDomain,name=Manager">
<attribute name="MainDeployer">jboss.system:service=MainDeployer</attribute>
<attribute name="SARDeployer">jboss.system:service=ServiceDeployer</attribute>
<attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute>
<attribute name="EJBDeployer">jboss.ejb:service=EJBDeployer</attribute>
<attribute name="RARDeployer">jboss.jca:service=RARDeployer</attribute>
<attribute name="CMDeployer">jboss.jca:service=ConnectionFactoryDeployer</attribute>
<attribute name="WARDeployer">jboss.web:service=WebServer</attribute>
<attribute name="CARDeployer">jboss.j2ee:service=ClientDeployer</attribute>
<attribute name="MailService">jboss:service=Mail</attribute>
<attribute name="JMSService">jboss.mq:service=DestinationManager</attribute>
<attribute name="JNDIService">jboss:service=Naming</attribute>
<attribute name="JTAService">jboss:service=TransactionManager</attribute>
<attribute name="UserTransactionService">jboss:service=ClientUserTransaction</attribute>
<attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute>
</mbean>
关闭EJBDeployer和RMI_IIOPService,将其所在的行注释掉即可。
7)建立文件run.conf
在${SERVER_PATH}目录建立文件run.conf,内容如下:
MAX_FD="8192"
JAVA_OPTS="-server -Xms512m -Xmx1024m"
8)建立文件start
在${SERVER_PATH}目录建立文件start,内容如下:
DIRNAME=`dirname $0`
RUN_CONF=$DIRNAME/run.conf
export RUN_CONF
nohup $JBOSS_HOME/bin/run.sh -c 应用名 & > nohup.out
9)建立停止脚本
方式一:
USER=`whoami`
pidlist=`ps -ef|grep $USER|grep 应用名字 |grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "服务未启动"
else
for pid in ${pidlist}
do
kill -9 $pid
echo "KILL $pid:"
echo "停止服务成功"
done
fi
方式二:
这里是指定停止的端口
在${SERVER_PATH}目录建立文件down,内容如下:
$JBOSS_HOME/bin/shutdown.sh --server=jnp://localhost:端口 –shutdown
在${SERVER_PATH}/conf/jboss-service.xml中寻找,在如下段落的<attribute name="Port">端口</attribute>指定:
<mbean code="org.jboss.naming.NamingService"
name="jboss:service=Naming"
xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
<attribute name="CallByValue">false</attribute>
<attribute name="Port">端口</attribute>
<attribute name="BindAddress">${jboss.bind.address}</attribute>
<attribute name="RmiPort">11198</attribute>
<attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
<depends optional-attribute-name="LookupPool"
proxy-type="attribute">jboss.system:service=ThreadPool</depends>
</mbean>
主机名localhost一般可以不修改,也可以修改为本机IP地址。
执行chmod +x 文件名,分别将start 和 down赋予可执行权限;
[/code]
1 配置环境变量
修改/etc/sysctl.conf
vi /etc/sysctl.conf
net.ipv4.tcp_max_syn_backlog = 1024
kernel.msgmni = 1024
kernel.sem = 1000 32000 32 512
fs.file-max = 100000
kernel.shmmax = 2147483648
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
(4)sem:该参数表示设置的信号量。
(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
1.2、让配置立即生效
# /sbin/sysctl -p
2.修改/etc/security/limits.conf
vi /etc/security/limits.conf
确认包含下面的内容:
* soft nofile 65536
* hard nofile 65536
修改后,用ulimit -n确认修改已生效
3. 出现乱码
修改自定义用户的.bash_profile,设定语言环境变量为zh_CN, 即在该文件中添加如下内容:
LANG=zh_CN;
export LANG
执行. .bash_profile使修改生效
用户环境变量中NLS_LANG,如果没有,则添加:
# ORACLE NLS charset, for chinese
NLS_LANG=American.ZHS16GBK;export NLS_LANG
否则将会出现中文在数据库中乱码的现象。
4. JBOSS安装配置
假设取得JBOSS安装包名称为jboss4.0.5GA.tar.gz
1) 用widgetpas用户登录系统
2) 将jboss4.0.5GA.tar.gz复制到当前目录并解压:执行tar -xzvf jboss4.0.5GA.tar.gz
3) 上一步应当生成一个名为jboss4.0.5GA的目录,具体目录名称可能与压缩包有关,检查目录下应当由bin、server、lib、docs、client几个目录
4) 进入jboss4.0.5GA/bin目录,执行chmod +x *.sh
5) 修改自定义用户的.bash_profile,设定环境变量JBOSS_HOME指向jboss4.0.5GA, 即在该文件中添加如下内容:
JBOSS_HOME=/xx/xx/xx/xx/jboss4.0.5GA
export JBOSS_HOME
6) 执行. .bash_profile使修改生效
5. JDK安装
JDK安装视安装包的不同而不同。使用自定义用户登录系统并执行安装过程,确保JDK安装在$HOME目录下,假设安装成功后的目录为jdk1.5,
其目录下应该有bin、demo、jre、lib等目录。
安装成功后,执行如下操作:
1) 修改自定义用户的.bash_profile,设定环境变量JAVA_HOME指向jdk1.5 即在该文件中添加如下内容:
JAVA_HOME=/xx/xx/xx/xx/jdk1.5
export JAVA_HOME
2) 执行. .bash_profile使修改生效
5.Jboss:oracle-ds.xml配置文件
复制$JBOSS_HOME/docs/examples/jca/oracle-ds.xml 到${SERVER_PATH}/deploy目录
1) 修改${SERVER_PATH}/deploy/oracle-ds.xml,修改如下内容:
<jndi-name>OracleDS</jndi-name>
<connection-url>jdbc:oracle:thin:@youroraclehost:1521:yoursid</connection-url>
<user-name>x</user-name>
<password>y</password>
<password>y</password>
<use-java-context>false</use-java-context>
当你指定<use-java-context>的值为false时,你就可以在jboss运行的VM外的VM上查找到这个DataSource.
4.3.2 修改JBOSS配置
1) 修改${SERVER_PATH}/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml,检查如下内容:
<attribute name="Java2ClassLoadingCompliance">false</attribute>
<attribute name="UseJBossWebLoader">false</attribute>
确保以上两个值都为false,如不是,修改之。
2) 修改${SERVER_PATH}/conf/jboss-service.xml, ,检查如下内容:
<mbean code="org.jboss.logging.Log4jService" name="jboss.system:type=Log4jService,service=Logging"
xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
<attribute name="ConfigurationURL">resource:log4j.xml</attribute>
<!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
this needs to be set to avoid a possible deadlock on exception at the
appender level. See bug#696819.
-->
<attribute name="Log4jQuietMode">true</attribute>
<!-- How frequently in seconds the ConfigurationURL is checked for changes -->
<attribute name="RefreshPeriod">60</attribute>
<attribute name="CatchSystemOut">false</attribute>
</mbean>
确保CatchSystemOut的值false,如果不存在,则添加并使之为false;
PS: 1),2)针对app与jboss的log4j冲突问题。
3) 修改${SERVER_PATH}/deploy/jbossweb-tomcat55.sar/conf/web.xml
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--Should directory listings be produced if there-->
<!--is no welcome file in this directory? [true] -->
listings 默认为 true;应改为false. 如果目录没有欢迎文件,就展示目录列表。
4) JBOSS 热部署 修改jboss-4.0.4RC1\server\default\deploy\jbossweb-tomcat55.sar\context.xml
在jboss中做热部署也有两种方法,因为jobss集成了tomcat,也可以说这两种方法是在jobss上的一个修改。
<Context cookies="true" crossContext="true" antiResourceLocking="true" antiJARLocking="true">
<Manager pathname=""/>
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
加上这一部分[antiResourceLocking="true" antiJARLocking="true"],重启jboss,再用myeclipse Redeploy project的时候就不需要重启,部署完了直接开浏览器预览啦
5) 配置监听端口 修改${SERVER_PATH}/deploy/jbossweb-tomcat55.sar/server.xml,
将如下内容注释掉:
<Connector port="8009" address="${jboss.bind.address}"
emptySessionPath="true" enableLookups="false" redirectPort="8443"
protocol="AJP/1.3"/>
并修改如下段落中的port值,指定服务器HTTP监听端口:
<Connector port="端口" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
6) JBOSS目录
检查如下内容:
<mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"
name="jboss.management.local:j2eeType=J2EEDomain,name=Manager">
<attribute name="MainDeployer">jboss.system:service=MainDeployer</attribute>
<attribute name="SARDeployer">jboss.system:service=ServiceDeployer</attribute>
<attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute>
<attribute name="EJBDeployer">jboss.ejb:service=EJBDeployer</attribute>
<attribute name="RARDeployer">jboss.jca:service=RARDeployer</attribute>
<attribute name="CMDeployer">jboss.jca:service=ConnectionFactoryDeployer</attribute>
<attribute name="WARDeployer">jboss.web:service=WebServer</attribute>
<attribute name="CARDeployer">jboss.j2ee:service=ClientDeployer</attribute>
<attribute name="MailService">jboss:service=Mail</attribute>
<attribute name="JMSService">jboss.mq:service=DestinationManager</attribute>
<attribute name="JNDIService">jboss:service=Naming</attribute>
<attribute name="JTAService">jboss:service=TransactionManager</attribute>
<attribute name="UserTransactionService">jboss:service=ClientUserTransaction</attribute>
<attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute>
</mbean>
关闭EJBDeployer和RMI_IIOPService,将其所在的行注释掉即可。
7)建立文件run.conf
在${SERVER_PATH}目录建立文件run.conf,内容如下:
MAX_FD="8192"
JAVA_OPTS="-server -Xms512m -Xmx1024m"
8)建立文件start
在${SERVER_PATH}目录建立文件start,内容如下:
DIRNAME=`dirname $0`
RUN_CONF=$DIRNAME/run.conf
export RUN_CONF
nohup $JBOSS_HOME/bin/run.sh -c 应用名 & > nohup.out
9)建立停止脚本
方式一:
USER=`whoami`
pidlist=`ps -ef|grep $USER|grep 应用名字 |grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "服务未启动"
else
for pid in ${pidlist}
do
kill -9 $pid
echo "KILL $pid:"
echo "停止服务成功"
done
fi
方式二:
这里是指定停止的端口
在${SERVER_PATH}目录建立文件down,内容如下:
$JBOSS_HOME/bin/shutdown.sh --server=jnp://localhost:端口 –shutdown
在${SERVER_PATH}/conf/jboss-service.xml中寻找,在如下段落的<attribute name="Port">端口</attribute>指定:
<mbean code="org.jboss.naming.NamingService"
name="jboss:service=Naming"
xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
<attribute name="CallByValue">false</attribute>
<attribute name="Port">端口</attribute>
<attribute name="BindAddress">${jboss.bind.address}</attribute>
<attribute name="RmiPort">11198</attribute>
<attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
<depends optional-attribute-name="LookupPool"
proxy-type="attribute">jboss.system:service=ThreadPool</depends>
</mbean>
主机名localhost一般可以不修改,也可以修改为本机IP地址。
执行chmod +x 文件名,分别将start 和 down赋予可执行权限;
[/code]