daidalei321 发表于 2013-1-24 21:01:04

windows tomcat项目迁移到Linux上的配置与注意问题

前一段时间一直在忙windows tomcat项目迁移到Linux上的工作,其中遇到很多很bug的问题,叫人没有脾气!现在这个项目的迁移总算是圆满结束了,今天我把在迁移中环境配置和可能遇到问题的处理方法与大家齐分享!

一、运行环境的配置
◆ JDK的配置

1. 从java.sun.com 网站上下载JDK,注意是要Linux平台的。
这里我下的是jdk-6u20-linux-i586.bin,不是RPM的包。
2. 在终端用root身份操作,将jdk-6u20-linux-i586.bin文件复制到/opt 下面,复制时使用命令 #cpXX/opt/
3. 提权操作,使用命令 #chmod a+x jdk-6u20-linux-i586.bin
4. 然后 #./jdk-6u20-linux-i586.bin。按空格阅读用户协议,最后输入”yes”来继续安装。
5. 设置环境变量
在最后面加入
如果只有当前用户使用JDK,
#vi /etc/profile

#set java environment
JAVA_HOME=/opt/jdk1.6.0_20
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出。

要使JDK在所有的用户中使用,可以这样:
vi /etc/profile.d/java.sh

在新的java.sh中输入以下内容:
#set java environment
JAVA_HOME=/opt/jdk1.6.0_20
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出,然后给java.sh分配权限:#chmod 755 /etc/profile.d/java.sh

6. 检查环境变量是否配置成功
#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH
检查JDK是否安装成功。
#java –version
如果看到JVM版本及相关信息,即安装成功!


◆ TOMCAT的配置

1. 下载Tomcat
   从网站http://tomcat.apache.org/ 下载Tomcat,如apache-tomcat-5.5.29.tar.gz
2. 解压文件
   使用解压命令# tar zxvf apache-tomcat-5.5.29.tar.gz
   为了方便,将生成的文件修改为tomcat-5.5.29
#mv apache-tomcat-5.5.29 tomcat-5.5.29
3. 将文件拷贝到/opt/文件夹下
   #cp –R tomcat-5.5.29 /opt/
4. 设置环境变量
#vi /etc/profile/
在文件末尾加入
#set tomcat environment
export JAVA_HOME=/opt/jdk1.6.0_20
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
export CATALINA_HOME=/opt/ tomcat-5.5.29
export PATH=$JAVA_HOME/bin:$PATH

   使用命令#source /etc/profile 让修改后的文件立即生效。

5.启动和关闭tomcat
   #cd /opt/ tomcat-5.5.29/bin
   启动tomcat服务 #./startup.sh
   打开浏览器 http://localhost:8080,看是否安装成功。
   关闭tomcat服务 #./shutdwon.sh

◆ Mysql据库.sql文件导入导出
    1. sql文件导出:
       先用cmd到mysql的bin目录下:

       如:
      1)E:\program files\MySQL\MySQL Server 5.0\bin>下
      2)E:\program files\MySQL\MySQL Server 5.0\bin>mysqldump   -u root -p userurl>links.sql
      3)Enter password:123456
      4)会自动在E:\program files\MySQL\MySQL Server 5.0\bin>---------目录下生成links.sql文件


2. sql文件导入:
       C:\mysql\bin>mysql-u用户名 -p数据库名 <c:/test.sql   (source " c:\adsense.sql"    )
       中间的空格是一个空格位。

例如:
       var\lib\mysql>mysql -u root -p info < c:/myro.sql
       Enter password: ****
       稍等一会,就可以导入数据表。

二、操作中遇到的问题
◆ 数据库方面
   在将.sql文件执行导入到info数据库的时候可能会报出如下错误:
       ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password:YES)
      
解决办法:
   # service mysqld stop
   # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
   # mysql -u root mysql
       mysql> UPDATE user SET Password=PASSWORD('123') where USER='root';
       mysql> FLUSH PRIVILEGES;
       mysql> quit

   # service mysqld start
   # mysql -uroot -p
       Enter password: <输入新设的密码123>
       mysql>

② 在将.sql文件导入到info数据库时可能会报如下错误:
ERROR 1005 (HY000) at line 25: Can't create table './info/category.frm' (errno: 121)       此错误的原因是自己以前测试时建过info数据库,当时删除时是通过手动直接删除/var/lib/mysql中info数据库。这样做以为是没多大问题,实际上没有删除完全。
      
解决办法:
再次创建一个info数据库,然后通过命令行执行删除drop database info;
③ 登陆mysql数据库时可能会报如下错误:
   ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
   
解决办法:
启动mysql的守护进程,执行service mysqld start就行了

④ mysql数据库表名大小写敏感问题:
      
解决办法:
1. 用root登录,修改/etc/my.cnf
            2. 在[mysqld]下加一行:lower_case_table_names=1
            3. 重启数据库
⑤ 数据库乱码问题:
   
解决办法:
      ⅰ、 MYSQL创建数据库时候直接指定编码和排序规则:
       UTF8:create database `info`default character set utf8 collate utf8_general_ci;
   ⅱ、 改变系统默认字符集,改变如下:
etc/my.cnf中字段后加入如下语句default-character-set=gb2312

◆ tomcat方面
① tomcat的server.xml配置问题:
       当appBase指向info项目时tomcat无法正常启动。
      
解决办法:
      将sever.xml中的配置修改如下:
       <Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       <Context path="" docBase="/opt/tomcat-5.5.29/project/info" debug="0" reloadable="true" ></Context>
      .......
</Host>

② Tomcat中连接池的配置问题:
    <Context>
    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>   
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
    <Resource auth="Container" name="jdbc/DBD"

      type="javax.sql.DataSource" password=""
      driverClassName="org.gjt.mm.mysql.Driver" maxIdle="2" maxWait="5000"
      username="root      url="jdbc:mysql://localhost:3306/info?useUnicode=true&characterSetResults=UTF-8"
      maxActive="8" removeAbandoned="true" removeAbandonedTimeout="10"
      logAbandoned="true" />
   </Context>

三、环境配置存放目录明细
   ① jdk :   放在/opt/jdk1.6.0_20目录下
   ② tomcat:放在/opt/tomcat-5.5.29目录下
   ③ mysql: /var/lib/mysql    -- 数据库目录
               /usr/bin/mysql   -- mysqladmin mysqldump等命令
               /etc/rc.d/init.d   -- 启动脚本文件mysql的目录
               /usr/share/mysql -- mysql.server命令及配置文件

四、启动、关闭服务的命令
   ① 启动mysql服务: service mysqld start
      关闭mysql服务: service mysqld stop
   ② 启动tomcat服务:先进入/opt/tomcat-5.5.29/bin 执行 ./startup.sh
      关闭tomcat服务:先进入/opt/tomcat-5.5.29/bin 执行 ./shutdown.sh
页: [1]
查看完整版本: windows tomcat项目迁移到Linux上的配置与注意问题