Perfil de bluesea蓝色海洋~最最西面的那片FotosBlogListas Herramientas Ayuda
10/03/2008

CENTOS5.2 下安装MYSQL+TOMCAT6 相关设置,设置自启动

1。用yum 安装mysql
 
     安装MYSQL 非常容易,只要使用 yum install mysql-server 就可以了。若需要相关开发包可以 yum install mysql-devel。这里有个问题,我一开始使用centOS5.2 的时候发现YUM运行得很奇怪,一些小的安装包可以安装。但是很多安装包都不行。包括 mysql-server 。检查了yum 源配置也不行。后来干脆删除,并且从网上再下了一个rpm包,重新安装就好了。这里是CENTOS 提供的yum 源http://www.centos.org/modules/tinycontent/index.php?id=13,根据服务器所在的国家选择,yum效率会很高
 
    安装完mysql 就是配置远程访问,如果需要的话。一般mysql 的远程访问建议不要使用ROOT帐户。不安全啊,您老一定要用我也拦不住。
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
 
    这样授权就可以用myuser 访问了,用IP地址替换掉%号,就是指定这个IP的机器可以访问。最后别忘记输入命令: FLUSH PRIVILEGES。
 
2.安装JDK1.6
       
   JDK1.6 和Tomcat6 都是无法yum  到的,起码我现在这个时间是这样。JDK 是不要想了,由SUN发布的大家还是老实的去SUN的网站上下载吧。YUM上现在最高版本的TOMCAT目前还是5 开头的。所以TOMCAT6也需要自己去下载。
 
    首先先要下载JDK1。6 可以使用 wget 加下载路径来完成。一般sun 会给你一些包选择,我这里建议是下载rpm.bin 结尾的包。容易安装啊,装起来比较标准吧。
    在下载文件所在目录输入:sh jdk-6u2-linux-i586-rpm.bin
    然后就是长长的 协议书,谁看啊。一路翻过,结尾输入yes 就可以了。
    最后设置/etc/profile 加上 这么几句。
   
export JAVA_HOME=/usr/java/jdk1.6.0_07
export JAVA_BIN=/usr/java/jdk1.6.0_07/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
 
    重起一下LINUX 吧。这很有必要,后面的tomcat jsvc 需要认路径的。好了输入 : java -version 测试一下。有信息返回就算是成了。
 
3。安装Tomcat6
 
     把下载来的tomcat6 的tar.gz 的包放到你想用的安装目录。输入 tar xvzf  apache-tomcat-6.0.14.tar.gz
     哒郎!好了。容易吧。ls 一下,你就可以看到安装目录了,进入安装目录的bin 目录。./startup.sh 就好了。
     检查机器所在的IP 8080端口。HTTP://你的IP:8080/
     如果要改变端口,可以在安装目录的conf 下在server.xml 里修改。
 
4。设置mysql 和tomcat6 自启动。
 
     mysql 很容易,如果你是使用yum 安装的。你会发现在/etc/init.d 目录下已经有一个mysqld 文件了,如果没有需要寻找mysql.service 文件,并把文件CP到/etc/init.d目录下。使用。只要这个文件在了,在 /etc/init.d  目录下 输入:chkconfig mysqld on就可以了。
 
    设置tomcat6 自启动是相当麻烦的一件事情,网上有些简单方法,但是这会使得tomcat以root权限运行,非常危险啊。没事别用。这里是使用tomcat6自到的守护进程启动的方法。
 
    首先进入tomcat6   安装目录的bin 目录。看见有个 jsvc.tar.gz 的文件。做如下操作:
    #tar zxvf jsvc.tar.gz
    #cd jsvc-src
    #autoconf
    (这里 autoconf 可能运行不了,是因为你没有装相关软件。yum install  autoconf 就可以了。)
    #./configure --with-java=/usr/java/jdk1.6.0_07 (‘=’ 号后面的是你实际安装jdk的目录仔细核对。)
    做完后,如果成功,消息会可以使用make
    #make 
    #cp jsvc ..
    #cd ..
    看一下jsvc 是否在。
 
    重新进入tomcat6 安装目录,就是tomcat6的目录,不是里面的bin 或者其他字目录。输入:
 
    ./bin/jsvc -cp ./bin/bootstrap.jar \  
    -outfile ./logs/catalina.out -errfile ./logs/catalina.err \  
    org.apache.catalina.startup.Bootstrap 
     重新进入tomcat6安装目录下的bin/jvsc-src 目录,里面有个native 目录,进入native,将里面的tomcat6.sh 拷贝到/etc/init.d目录下(有的包里只有tomcat5.sh 和Tomcat.sh 那就随便拷个过去,按我下面的内容改。个人建议考个Tomcat5.sh 过去修改比较接近。)
    cp tomcat6.sh /etc/init.d/tomcatd
    配置/etc/init.d/tomcatd
    vi /etc/init.dtomcatd
 
    检查一下你的文件是否符合:
 
#!/bin/sh
#
# Startup Script for Tomcat6
#
# chkconfig: - 88 14
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
# Adapt the following lines to your configuration
JAVA_HOME=/usr/local/jdk
CATALINA_HOME=/usr/local/tomcat
DAEMON_HOME=$CATALINA_HOME/bin
TOMCAT_USER=tomcat

# for multi instances adapt those lines.
TMP_DIR=/usr/local/tomcat/temp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/usr/local/tomcat
CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

start(){
echo starting tomcat ...
$DAEMON_HOME/jsvc \
-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Dcatalina.base=$CATALINA_BASE \
-Djava.io.tmpdir=$TMP_DIR \
-wait 10 \
-pidfile $PID_FILE \
-outfile $CATALINA_HOME/logs/catalina.out \
-errfile '&1' $CATALINA_OPTS \
-cp $CLASSPATH org.apache.catalina.startup.Bootstrap

}

stop(){
echo stopping tomcat ...
$DAEMON_HOME/jsvc \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap
}

status() {
    ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}' | wc | awk '{print $2}' >/tmp/tomcat_process_count.txt
    read line < /tmp/tomcat_process_count.txt
    if [ $line -gt 0 ]; then
      echo -n "tomcatd ( pid "
      ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap" | awk '{printf $1 " "}'
      echo ") is running..."
    else
      echo "Tomcat is stopped"
    fi
}

case "$1" in

     start)
        # Start Tomcat
        start
        exit $?
        ;;
     stop)
        # Stop Tomcat
        stop
        exit $?
        ;;
     restart)
        stop
        sleep 3
        start
        exit $?
        ;;
     status)
        status
        exit $?
        ;;
     *)
       echo "Usage: tomcatd {start|stop|restart|status}"
       exit 1
       ;;
esac

      要仔细核对哦。注意要使用你自己的实际安装目录。
      添加一个用户叫tomcat:
      #useradd tomcat
      确保tomcat用户能够读取server.xml文件:
       #chmod -R +r /usr/local/tomcat/ (还是这句话,注意你实际的安装目录)
       #chmod +x tomcatd
     
      测试一下:
       #./tomcatd start
       #./tomcatd stop
       只要不报错就可以。先别着急看WEB是否可以访问。
       设置自动运行
       #chkconfig tomcatd on
       #service tomcatd start
     
 
      注意很多人会在运行chkconfig tomcatd on 时报错,说chkconfig 无法配置 tomcatd 的服务,这是由于有些用户在修改tomcatd的文件时并没有跟着将文件头部的注释修改掉。
tomcatd 的文件头部的注释也必须全部按这里的拷贝在你的文件里。
 
      就可以了。如果服务现在还不能用,只要重启一下机器,就会发现tomcat跟着已经启动了。
     (靠,我还以为service tomcatd start 以后服务就应该启动了。查了老半天,没查出问题,页面也没出来,对着美国的服务器大喉一声,机器吓得一哆嗦,自己重启,结果就好了。太无聊了。)