网络安全 频道

架设某大型网站服务器之全过程

2)jboss
jboss安装.
Jboss4.0.3sp1 解压到/site/jboss目录下….
…./ deploy/jbossweb-tomcat55.sar/server.xml中,找8080,修改为8088

Jdk环境变量设定:

Jdk安装:
#chmod 755 jdk-1_5_0_06-linux-i586.bin
#./jdk-1_5_0_06-linux-i586.bin
Java参数设置:
#ln –s /usr/local/jdk1.5.0_06 /usr/local/jdk

如果你下载的是rpm包请如下操作
#./jdk-1_5_0_06-linux-i586.rpm.bin
#rpm jdk-1_5_0_06-linux-i586.rpm
# ln –s /usr/ jdk1.5.0_06 /usr/local/jdk


#vi /etc/profile.d/java.sh
////////////////////////文件内容///////////////////
JAVA_HOME=/usr/local/jdk
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$CATALINA_HOME/bin
export JAVA_HOME PATH
////////////////////////文件内容///////////////////

3) apache+jboos服务启动问题

apache+jboss整合配置已完毕.下面是启动这些服务了.

..用户与权限分配
groupadd –g 5500 xxxx
adduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g xxxx xxxx

修改/etc/passwd文件中的xxxx用户中的”/bin/false”为”/bin/bash”,以便于以后jboss使用.当然你也可以这样做:
adduser -u 5500 -s /bin/bash -d /bin/null -c "proftpd user" -g xxxx xxxx

chown xxxx /site/* –R
chgrp xxxx /site/* -R
chmod 755 /site/* -R

..服务启动
添加如下内容到/etc/rc.local
/usr/local/apache2/bin/apachectl start
/etc/init.d/jboss start
#vi /etc/init.d/jboss
////////////////////////文件内容开始///////////////////
#/etc/init.d/jboss
/etc/rc.d/init.d/functions
JBOSS_HOME=/site/jboss
export JBOSS_HOME
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH
prog="jboss"
start()
{
#Input the jbos Service log into jboss.log
echo "Jboss4.0.3SP1 Service Starting........" >>/var/log/xxxx/jboss.log
echo "-----------------------------------------------" >>/var/log/xxxx/jboss.log
date "+%Y-%m-%d %A %T :Jboss Service start" >>/var/log/xxxx/jboss.log
echo "-----------------------------------------------" >>/var/log/xxxx/jboss.log
su - xxxx -c $JBOSS_HOME/bin/run.sh & >>/var/log/xxxx/jboss.log
touch /var/log/xxxx/jboss.log
}
#Function stop,Stop the Jboss Service auto
#when the Linux Halt
stop()
{
#Input the jboss Service log into jboss.log
echo "jboss Service Stopping........" >>/var/log/xxxx/jboss.log
echo "-----------------------------------------------" >>/var/log/xxxx/jboss.log
date "+%Y-%m-%d %A %T :jboss Service Stop">>/var/log/xxxx/jboss.log
echo "-----------------------------------------------" >>/var/log/xxxx/jboss.log
su - xxxx -c “$JBOSS_HOME/bin/shutdown.sh –S”>>/var/log/xxxx/jboss.log
}
case $1 in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
status)
status $prog
;;
*)
echo "Please Input start|stop|restart|reload|status"
return 1
esac
////////////////////////文件内容结束///////////////////

注意:
请赋予jboos的执行权限:chmod 755 /etc/init.d/jboss
请注意xxxx用户是没有设置密码的,确保使用xxxx用户是无法登录的,只有root可以切换到该用户环境中去的:#su – xxxx…..

4)oracle安装与启动
创建相关安装目录和环境变量
  1,创建user/group;
  #groupadd dba
  #groupadd oinstall
  #useradd oracle -g oinstall -G dba
  #passwd oracle
  2,建立oracle安装文件夹;
  # mkdir -p /opt/ora9/product/9.2.0.4
  # mkdir /var/opt/oracle
  # chmod oracle.dba /var/opt/oracle
  # chown -R oracle.dba /opt/ora9
 
3,配置环境变量;
以root用户登录,设置root用户的环境打开.bash_profile文件,将如下内容加入:
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb //此处为你的sid

 使用Oracle用户登陆:
 #su – oracle
 $vi .bash_profile
 以下是配置文件的内容
 # .bash_profile

 # Get the aliases and functions
 if [ -f ~/.bashrc ]; then
. ~/.bashrc
 fi

 # User specific environment and startup programs

 PATH=$PATH:$HOME/bin
 export ORACLE_BASE=/opt/ora9
 export ORACLE_HOME=/opt/ora9/product/9.2.0.4
 export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
 export ORACLE_OWNER=oracle
 export ORACLE_SID=oradb
 export ORACLE_TERM=xterm
 export LD_ASSUME_KERNEL=2.4.19
 export THREADS_FLAG=native
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
 export NLS_LANG=”American_america.utf8”
 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
 export PATH
 unset USERNAME
 4,设置系统参数;

#su – root切换到root用户
a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容:
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

修改后运行
#sysctl –p
命令使得内核改变立即生效;

注:
一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。
建议永久地增加 shmmax 设置。
sem 4 个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数); SEMMNI(系统辛苦量集数最大数).Shmmax 最大共享内存,官方文档建议是内存的1/2,Shmmni 最小共享内存 4096KB.Shmall 所有内存大小 。

b) 设置oracle对文件的要求:
编辑文件:#vi /etc/security/limits.conf 加入以下语句:
oracle    soft    nofile    65536
oracle    hard    nofile   65536
oracle    soft    nproc    16384
oracle    hard    nproc    16384

也可以写成:

*   soft    nofile    65536
*    hard    nofile   65536
*   soft    nproc    16384
*   hard    nproc    16384

c) gcc降级
#mv /usr/bin/gcc /usr/bin/gcc34
#ln –s /usr/bin/gcc32 /usr/bin/gcc
#mv /usr/bin/g++ /usr/bin/g++34
#ln –s /usr/bin/g++32 /usr/bin/g++

5,安装oracle补丁
# cd /opt
#ls compat*.rpm
compat-libcwait-2.0-2.i386.rpm compat-oracle-rhel4-1.0-5.i386.rpm
# rpm -Uvh compat*.rpm
Preparing... ########################################### [100%]
1:compat-libcwait-2.0-2.i386.rpm ##################################### [ 50%]
2:compat-oracle-rhel4-1.0-5.i386.rpm#################################### [100%]

开始安装Oracle9i

1,解压下载的安装文件:
#zcat ship_9204_linux_disk1.cpio.gz | cpio –idmv&&zcat ship_9204_linux_disk2.cpio.gz | cpio –idmv&& zcat ship_9204_linux_disk3.cpio.gz | cpio –idmv
解包和解压过程中,自动创建了3个包含安装文件的目录:
Disk1
Disk2
Disk3

.以oracle用户登录系统,进行Oracle的安装(注意请不要在root登录中切换到oracle,是以oracle登录到系统(图形界面)):
$ cd Disk1
$ ./runInstaller过一会儿就会出现Oracle的安装界面
- Welcome Screen: Click Next
- Inventory Location: Click Next
- Unix Group Name: Use "oinstall" and click Next

When asked to run /tmp/orainstRoot.sh, run it before you click Continue
- At the end of the installation, exit runInstaller.

2.一步一个脚印安装下去就行了!

3,安装完后打补丁:
切换到oracle:#su – oracle 首先安装 opatch.
$cd /opt
$unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
$export PATH=$PATH:/opt/OPatch:/sbin
(修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)
$unzip p3238244_9204_LINUX.zip
$export ORACLE_BASE=/opt/ora9
$export ORACLE_HOME=/opt/ora9/product/9.2.0.4
$ cd 3238244
$opatch apply
出现success的提示就全部安装成功.

补丁打完后,还要relinked一个.mk文件
$cd $ORACLE_HOME/network/lib
$make -f ins_oemagent.mk install
之后就可以启动Agent服务了.

4, 最后执行 $dbca 建oracle数据库
注意:在SID处指定为oradb (与 ORACLE_SID=oradb)中的值一致.
点击OK,然后退出即可,正常登陆并启动数据库的操作。
$ lsnrctl start
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Sat Mar 12 22:58:53 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL>connect / as sysdba
Connected.

SQL> shutdown immediate 关闭数据库
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL>startup; 启动数据库
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.

5, oracle服务启动
以root身份进入,编写以下脚本:
vi /etc/init.d/oracle
////////////内容//////////////////
#!/bin/bash
#start and stop the oracle instance
# chkconfig –level 5 --add ora9i
#chkconfig: 345 91 19
# description: starts the oracle listener and instance

export ORACLE_HOME="/opt/ora9/product/9.2.0.4"
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER="oracle"
export ORACLE_SID=oradb

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "oracle startup:cannot start"
exit 1
fi

case "$1" in
start)
#startup the listener and instance
echo -n "oracle startup: "
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "finished"
;;
stop)
# stop listener, apache and database
echo -n "oracle shutdown:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "finished"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: ora9i [start|stop|reload|restart]"
exit 1

esac
exit 0
////////////内容//////////////////
给予执行权限,以root身份运行/etc/rc.d/init.d/oracle start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行(不过官方是不建议开机自动运行的,我本人也不建议这样做,你确实需要可以这么做),那么要运行以下命令: chkconfig --level 35 --add oracle
或者以root用户执行如下命令:
#chmod a+x /etc/rc.d/init.d /oracle
#cd /etc/rc.d/rc5.d
#ln -s /etc/rc.d/init.d/oracle S99ora9i
#cd /etc/rc.d/rc0.d
#ln -s /etc/rc.d/init.d/oracle K99ora9i
也可如下自启动oracle9i!
在/etc/rc.d/rc.local中加入如下:
su - oracle -c "/opt/ora9/oracle/product/9.2.0.4/bin/lsnrctl start"
su - oracle -c "/opt/ora9/oracle/product/9.2.0.4/bin/dbstart start"
0
相关文章