zoukankan      html  css  js  c++  java
  • Struts项目向Linux迁移小结

    Struts项目向Linux迁移小结

    1. 系统兼容性处理

     

    1路径符号问题:

    a.windows 路径使用 ///都是可以的,但Linux中只能使用/

    处理方法:

    查找程序中所有含有类似“//”路径的代码(共84),进行修改,//替换为File.seperator,从而兼容Linux

     

    b. windows,获取的路径的函数是:

    “盘符:/.../tomcat/webapps/XXX/

    Linux中,是“usr/local/tomcat/ webapps/XXX/,该路径在Linux无法识别,需要在前面增加“/”。

    处理办法:函数进行修改:

    Properties props=System.getProperties(); //获得系统属性集 String osName = props.getProperty("os.name"); //操作系统名称  根据操作系统的名称,进行路径设置。

    2)文件写权限问题:

    系统中有部分程序需要进行文件写操作,相关程序执行失败。原因是Linux有严格的文件操作权限,默认是不给写权限的。所以需要对相关的文件和文件夹授予写的权限,需要授权的文件(夹)有:

    具体命令:#Chmod  -R 777  文件名

     

    (3)文件名大小写敏感问题

    由于windows对文件后缀名的大小写是不敏感的,而Linux下是敏感的。所以在程序中引用的文件名的后缀与实际大小写不一致,在Linux下是无法识别的。

    解决方法:

    修改文件的后缀名

    4)数据库中表名大小写问题

    表名大小写在windows下默认是不敏感的;而在Linux下是敏感的

    解决办法:

      1通过修改MySql Server安装目录下的 my.cnf 文件, 设置 lower_case_table_names=1

    2) 修改建库脚本,将所有涉及到的表名都修改为小写

    3)对于已经存在的系统:对所有表名大写的表,执行如下语句:

    ALTER  TABLE table_name RENAME TO new_table_name

    5jfreechart中文日文字体显示问题

    a.       由于Java虚拟机找不到字体文件造成的。

     

    解决办法:

    (1)把字体文件Simsun.ttf(可以从windowsSimsun.ttc拷贝一份到Linux下)

    拷贝到JRE的字体目录$JAVA_HOME/jre/lib/fonts下,

    (2)编辑字体目录下的文件fonts.dir,把第一行的数字加1,然后在最后加一行加上:

    simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0

    保存文件。

    (3)切换到该目录下的 jre/lib 目录下, font.properties 备份一下:

    # cd /usr/java/j2sdk1.4.2_01/# cd jre/lib/# mv font.properties font.properties.bak

    (4) font.properties.zh_cn.sun 复制为 font.properties

    # cp font.properties.zh_cn.sun font.properties

    (5) 编辑复制得到的 font.properties 文件, 跳到文件尾部,

    找到“filename.xxx=”这一行, 将后面的路径修改为你机器上的 simsun.ttf 所在的全路径,

    下面的 appendedfontpath 一行也做相应修改, 将路径指向你的 simsun.ttf 所在文件夹。

    filename.-hanyi-hanyisong-medium-r-normal--*-%d-*-*-c-*-gbk-0=/usr/share/fonts/local/simsun.ttf

    appendedfontpath=/usr/share/fonts/local/

     

     

    2、安装问题说明

     

    问题一Tomcat无法启动

    解决方法:

    (1)    更换端口号 Server.xml 中:8080修改为8088

    (2)    Tomcat/bin下所有的sh文件写权限开放

     

    问题二:访问Tomcat,出现jsp无法编译的错误

    解决方法:

    Linux自带的jdkjar不全,没有dt.jar.

    重新下载jdk进行部署(j2sdk-1_4_2_19-Linux-i586.bin

     

    问题三:编译MySql时报错“Linux thread not found

    解决方法:

    因为MySQL 4.0 不支持使用了 NTPL线程,用以下命令处理:
    1# cp /usr/include/pthread.h /usr/include/pthread.h.bak
    2
    # echo ‘/* Linuxthreads */’ >> /usr/include/pthread.h
    3
    # ./configure –with-pthread –with-named-thread-lib=-lpthread
    4# make && make install

     

    问题四windows客户端无法访问Mysql

    解决方法:

    由于(1telnet 3306端口无响应

    2mysql在本机可以通过命令行访问,

    3)使用  show variables like ‘port’ 命令查看,发现端口号=0;说明该mysql的端口设置无效,有可能被别的程序占用;

    4netstat –anp,发现3306端口没有被使用。使用rpm -qa mysql命令查看,发现该Linux下已经安装了另一个版本的mysql;

    使用Rpm –e –nodep mysql5.0  命令进行卸载,再执行show variables like ‘port’ 命令,

    端口号=3306

    5windows客户端访问Mysql,出现访问被拒绝提示。但telnet 3306,已经能够连接。

    6iptables添加开放了3306端口
    #iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
    #iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
    #service iptables save
    #service iptables restart

    在防火墙中添加该端口 vi /etc/sysconfig/iptables

    添加-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    更改完了之后输入service iptables restart

    (7)mysql增加访问权限:

    登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
    mysql -u root –p root>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

    flush privileges

    8/etc/my.cnf 里注释掉 skip-networking;在 /etc/hosts.allow 加入MySQL 服务侦听 mysqld: 127.0.0.1

     

    最终解决问题。

     

     

    附件:安装步骤说明   

    1. Java环境安装:

    1www.sun.com网站下载jdk1.4.2版本的安装包j2sdk-1_4_2_19-Linux-i586.bin

    2)安装。#.    

     

    2.Tomcat安装

    1http://tomcat.apache.org/下载tomcat软件包

    2)安装。

    #tar zxvf apach-tomcat-4.1.37.tar.gz
        #mv apach-tomcat-4.1.37 /usr/local  
    (3)
    设置环境变量

    #vi /etc/profile

        export JAVA_HOME=/usr/local/j2sdk1.4.2_19
        export TOMCAT_HOME=/usr/local/apach-tomcat-4.1.39

    Export PATH=$JAVA_HOME/bin;$PATH

    Export CLASSPATH=.:$JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar
      
    保存退出

      # source /etc/profile  //让当前配置立即生效

    (4)启动tomcat服务器
        $ /usr/local/apach-tomcat-6.0.16/bin/startup.sh
       
    控制台会出现如下内容:
        Using CATALINA_BASE:   /usr/local/apache-tomcat-6.0.16
        Using CATALINA_HOME:   /usr/local/apache-tomcat-6.0.16
        Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.16/temp
        Using JRE_HOME:       /usr/local/jdk1.6.0_04

    5)在浏览器中输入http://localhost:8080/就可以看到tomcatlog
      

     3.Linux中文字体支持设置

    (1)把字体文件Simsun.ttf(可以从windowsSimsun.ttc拷贝一份到Linux下)

    拷贝到JRE的字体目录$JAVA_HOME/jre/lib/fonts下,

    (2)编辑字体目录下的文件fonts.dir,把第一行的数字加1,然后在最后加一行加上:

    simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0

    保存文件。

    (3)切换到该目录下的 jre/lib 目录下, font.properties 备份一下:

    # cd /usr/java/j2sdk1.4.2_01/# cd jre/lib/# mv font.properties font.properties.bak

    (4) font.properties.zh_cn.sun 复制为 font.properties

    # cp font.properties.zh_cn.sun font.properties

    (5) 编辑复制得到的 font.properties 文件, 跳到文件尾部,

    找到“filename.xxx=”这一行, 将后面的路径修改为你机器上的 simsun.ttf 所在的全路径,

    下面的 appendedfontpath 一行也做相应修改, 将路径指向你的 simsun.ttf 所在文件夹。

    filename.-hanyi-hanyisong-medium-r-normal--*-%d-*-*-c-*-gbk-0=/usr/share/fonts/local/simsun.ttf

    appendedfontpath=/usr/share/fonts/local/

     

    4MySQL安装:

    1)建立相应目录和组:

    # mkdir /usr/local/mysql

    # groupadd mysql

    # useradd -g mysql mysql //useradd -g mysql -d /usr/local/mysql name

    2)开始安装mysql

    # tar xzvf mysql-4.0.15.tar.gz //解压缩

    # cd mysql-4.0.15 //进入解压后的文件目录

    // Linux thread not found问题的处理

    # cp /usr/include/pthread.h /usr/include/pthread.h.bak
    # echo ‘/* Linuxthreads */’ >> /usr/include/pthread.h

    # ./configure –with-pthread –with-named-thread-lib=-lpthread  --prefix=/usr/local/mysql
    # make && make install

     

    3copy配置文件

    largemediumsmall三个环境下的,根据机器性能选择,如果负荷比较大,可修改里面的一些变量的内存使用值

    # cp support-files/my-medium.cnf /etc/my.cnf //复制配置文件

     

    4)更改目录权限和组

    # cd /usr/local/mysql

    # chown -R mysql .

    # chgrp -R mysql .

    5)建立数据库和表

    # bin/mysql_install_db --user=mysql //初始化授权

    6)再次更改目录权限和组

    # chown -R root .

    # chown -R mysql var

    7)启动MySQL服务

    # bin/mysqld_safe --user=mysql &

    8)设置MySQL启动服务

    # cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

    # chkconfig --add mysqld //在自动启动列表里添加mysqld

    # chkconfig --level 345 mysqld on

    9)修改MySQL密码

    # /usr/local/mysql/bin/mysqladmin -u root password 'new-password' //修改密码

    # /usr/local/mysql/bin/mysqladmin -u root -h localhost password 'new-password'

    // localhost替换成你的主机域名,比如:zhaorg.csu.edu.cn

    10)登录mysql数据库:

    # mysql -u root -p

    Enter password: root

    Welcome to the MySQL monitor. Commands end with ; or /g.

    Your MySQL connection id is 18 to server version: 5.0.19-log

    Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

    mysql> use mysql;

    mysql>delete from user where password=""; //删除用于本机匿名连接的空密码帐号

    mysql>flush privileges;

    mysql>quit

     

  • 相关阅读:
    nyoj-115-城市平乱(dijkstra算法)
    如何在大学里脱颖而出(其二)
    P6880-[JOI 2020 Final]オリンピックバス【最短路】
    P6847-[CEOI2019]Magic Tree【dp,线段树合并】
    P6800-[模板]Chirp Z-Transform【NTT】
    P5470-[NOI2019]序列【模拟费用流】
    P6563-[SBCOI2020]一直在你身旁【dp,单调队列】
    CF587F-Duff is Mad【AC自动机,根号分治】
    P7405-[JOI 2021 Final]雪玉【二分】
    互斥锁,IPC队列
  • 原文地址:https://www.cnblogs.com/superch0054/p/4010102.html
Copyright © 2011-2022 走看看