zoukankan      html  css  js  c++  java
  • RHEL6.4服务器整体迁移记录RHEL6.9-2020-操作系统安装在M2固态,应用/数据库重要数据安装至DELL-H310阵列卡RAID1上保证数据安全性

    实际迁移情况

      老机器,2016年7月配置,很旧而且硬盘只有1块,无阵列保证数据安全,所以想到买一台支持DELL H310阵列卡的工作站(T3420)(只有工作站主板芯片对阵列卡支持比较好)

           新机器,2020年2月配置,DELL T3420 主板Intel C230芯片组,对DELL H系列阵列卡绝逼支持,INTEL I5 6500(CPU)  DELL H310阵列卡(M2固态128G,2X2.5寸西部数据机械硬盘5600转做RAID1)

      安装应用之前需要切换yum源为centos的源,参考资料:https://www.cnblogs.com/ssyfj/p/9172147.html


    一、mysql安装,最好安装tar版本的mysql,用意是指定安装目录,指定数据库文件存放目录,参照教程:https://www.cnblogs.com/mxci/p/12405402.html

      在这里做了mysql升级5.5.46—>5.5.62(注意统一字符集)


    二、NextCloud迁移

           1、mysql数据库,导出mysql中nextcloud_db数据库

      

    mysqldump -h10.12.196.116 -P3306 -uoc_root1 -p1VgaziZIHk3JCsn37iTexto64EUtjQ nextcloud_db > nextcloud_db.sql

           数据库信息可以通过nextcloud安装目录中/home/wangyan/sysapp/nginx-1.7.2/html/config/config.php文件中找到

      导出nextcloud_db数据库中全部数据后,然后恢复至新机器上,首先创建数据库,建用户并赋权限

           

     CREATE DATABASE nextcloud_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;      -- 建库
    
     create user 'oc_root1'@'%' identified by '1VgaziZIHk3JCsn37iTexto64EUtjQ';            --建用户远程访问
    
     create user 'oc_root1'@'localhost' identified by '1VgaziZIHk3JCsn37iTexto64EUtjQ';        --建用户本地访问
    
     grant all on nextcloud_db.* to 'oc_root1'@'%';                          --赋权限
    
     grant all on nextcloud_db.* to 'oc_root1'@'localhost';                         --赋权限
    
     mysql -uoc_root1 -p1VgaziZIHk3JCsn37iTexto64EUtjQ nextcloud_db < nextcloud_db.sql        --恢复数据

    2、安装php,编译安装没有成功,感觉很麻烦,所以用yum安装

    A—yum安装一般比较顺利,具体命令行如下:

    rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    yum list --enablerepo=remi --enablerepo=remi-php56 | grep php
    yum install --enablerepo=remi --enablerepo=remi-php56 php php-mysqlnd php-mysql php-mysqli  php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common
    php -v

    正常情况下用上边几行命令就可以安装成功202003最新php5.6.40版本

    yum安装成5.6.40版本后发现之前的配置,访问nginx下的php测试文件无法正常解析,经过网上查询5.6.40版本有点区别,所以考虑编译安装php5.6.39


    B—编译安装php5.6.39步骤:(参考:https://www.cnblogs.com/yehuisir/p/10068795.html)

    1) 、环境准备(安装必备的组件,采用yum安装)

    yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel
    
    yum install libpng
    
    yum install libpng-devel
    
    yum -y install libjpeg-devel
    
    yum install freetype-devel

    2)、安装 libiconv-1.14

    #wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
    #tar -zxvf libiconv-1.14.tar.gz
    #cd libiconv-1.14
    # ./configure --prefix=/usr/local/libiconv
    # make && make install

    3)、yum安装完必要的组件, libiconv安装完成后,准备php5.6.39源码

    wget http://cn2.php.net/distributions/php-5.6.39.tar.gz
    
    tar zvxf php-5.6.39.tar.gz
    
    cd php-5.6.39

    4)、配置php编译安装参数

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=wyan --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd --with-fpm-group=wyan --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir=/usr/ --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline --with-libdir=lib64 --with-iconv

    这里有个问题记录,当不加--with-libdir=lib64报:configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

    加--with-libdir=lib64报:Please reinstall the iconv library.

    然后把--with-iconv=/usr/local/libiconv  这一项改成--with-iconv  即不指定路径然后编译安装顺利通过

    5)、编译安装

    make && make install

    6)、.配置服务

    配置文件

    cp php.ini-development /usr/local/php/etc/php.ini

    php-fpm 服务

    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/init.d/php-fpm
    
    chkconfig --add php-fpm
    chkconfig php
    -fpm on

    chkconfig list php-fpm
    service php-fpm start
    netstat -nltp|grep 9000

    出现下图php启动成功,且监听9000端口

    错误记录:(编译安装PHP56.39时,遇到的错误以及解决办法)

    1)、configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

    问题出现原因主要是要把mysql的库配置进来,并且路径要添加正确,具体还有待研究,网上有很多总解决方法,列出来如下:


      a、https://blog.51cto.com/linuxzkq/1719580

        

        解决方法:
    
        ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/ 
    
        ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
    
          此方法注意自己mysql安装的实际路径

           b、https://blog.51cto.com/kusorz/1763874

        

        vi /etc/ld.so.conf.d/local.conf
    
        /usr/local/lib
    
        :wq
    
        ldconfig -v
    
        通过上边办法还不行,有人通过下边的命令解决问题
    
        # export LD_LIBRARY_PATH=/usr/local/mysql/lib:/lib/:/usr/lib/:/usr/local/lib  (注意mysql的实际安装路径)

      c、http://www.liangdongpo.com/linux/detail/id/19.html

    vim /etc/ld.so.conf.d/local.conf     # 编辑库文件
    /usr/local/mysql/lib                 # 添加该行
    :wq                                  # 保存退出
    ldconfig -v                          # 使之生效

      d、我遇到的上边的办法都解决不了,但是并不表示上边操作没有用,最终通过下边办法解决这个报错:https://segmentfault.com/q/1010000005973168

        方法1、查看php官方文档解决. 在configure 里面加上 --with-libdir=lib64  (然后编译瞬间解决上边那个报错)

        方法2、编辑/etc/ld.so.conf,根据系统,加入include /etc/ld.so.conf,然后执行ldconfig,使其重新加载一次;(如果出错改为vi /etc/ld.so.conf >> include /usr/local/libmcrytp/lib/)   --这个方法没有用到

     2)、上边的问题,配置项加入--with-libdir=lib64后,出现报错:Please reinstall the iconv library. 意思是提示重新安装iconv库,但是前面已经安装了,这里不知道怎么回事

        解决方案:把配置项中--with-iconv=/usr/local/libiconv  这一项改成--with-iconv  即不指定路径然后编译安装顺利通过

    7)、配置PHP

    vi /usr/local/php/etc/php-fpm.conf
    user = wyan                                   //编译的时候已经指定用户和组所以这里不用修改
    group = wyan
    listen
    = 127.0.0.1:9000     //修改成0.0.0.0:9000
    env[HOSTNAME] = $HOSTNAME //将以下几行,去掉注释 env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp

    然后重启php-fpm服务生效配置修改


    3、安装nginx

    解压安装包nginx-1.7.2.tar.gz

    tar -zxvf nginx-1.7.2.tar.gz
    mv nginx-1.7.2 nginx-1.7.2_src      //为了区分为源码
    cd nginx-1.7.2_src
    ./configure --prefix=/mnt/rd1/nginx-1.7.2 --with-http_stub_status_module --with-http_ssl_module (--with-stream这个选项不要,因为1.9.0版本后,才支持的)
    make && make install         //编译安装

    4、安装好nginx后最好先测试一下php时候可用

      接下来就是迁移Nextcloud整个应用及数据文件

      大致描述一下就行,整体拷贝,主要配置文件/mnt/rd1/webapps/nextcloud/config/config.php    (这里是把nextcloud放到nginx另外的目录,不放在html下面了,方便管理)   

    5、配置nextcloud上传文件大小限制

    网上说要修改很多地方:/etc/php.ini   /nextcloud.conf   /html/.htaccess(nextcloud根目录)

    最后发现只需要修改php配置文件/etc/php.ini (注意这里php是编译安装的文件路径是:/usr/local/php/etc/php.ini)

    其他两个文件不用管

    补充:发现nextcloud的root用户查看页面最大文件上传大小是由/etc/php.ini中两个地方决定,且取较小参数;但是在实际上传时,也受/nextcloud.conf文件中client_max_body_size参数限制,最后修改如下:(在server节点下添加配置)

     

    参考材料:https://www.orgleaf.com/2830.html

    20200310 23:30迁移nextcloud完成


     三、jboss6.0迁移

    jboss迁移直接拷贝过来就行了,应用也是直接拷贝,但是注意应用路径配置变化的修改;

    但是发现一个问题,就是之前的自动启动脚本,开机自启动不能启动jboss,这一天真的很奇怪,应该是哪里配置问题,目前没有解决,所以把jboss设置成系统服务,实现自启动;

    设置jboss成系统服务:

    1、设置JBOSS环境变量

    vi /etc/profile
    添加如下内容:
    export JBOSS_HOME=/mnt/rd1/jboss-6.0.0.Final

    2、创建服务文件

    cp $JBOSS_HOME/bin/jboss_init_redhat.sh /etc/rc.d/init.d/jboss

    3、修改服务文件

    vi /etc/rc.d/init.d/jboss
    修改JBOSS_HOME JBOSS_HOME
    =${JBOSS_HOME:-"/mnt/rd1/jboss-6.0.0.Final"}
    修改JAVAPTH JAVAPTH
    =${JAVAPTH:-"/usr/java/jdk1.6.0_45/bin"}
    修改启动用户 JBOSS_USER
    =${JBOSS_USER:-"wyan"}
    设置所有IP能够访问jboss 在JBOSS_CONF
    =${JBOSS_CONF:-"default"}下添加语句:JBOSS_HOST=${JBOSS_HOST:-"0.0.0.0"} (如果在jboss配置文件中已经修改,则这一句可以不添加)

    参考资料:https://blog.csdn.net/lanyunit/article/details/6751276

    4、启动、关闭JBOSS

    重启机器、则会自动启动JBOSS,下面是一些常用命令

    启动服务:service jboss start
    关闭服务:service jboss stop
    重启服务:service jboss restart

    5、添加系统服务,并配置开机自启动

    ##添加系统服务
    chkconfig --add jboss
    ##设置开机启动
    chkconfig jboss on
    ##查看服务
    chkconfig --list jboss

    添加服务时出现一个问题:service jboss does not support chkconfig

    常常会出现
    service myservice does not support chkconfig 我们一般在脚本开头加入下面两句就好了 添加下面两句到 #
    !/bin/bash 之后。 # chkconfig: 2345 10 90 # description: myservice .... 其中2345是默认启动级别,级别有0-6共7个级别。   等级0表示:表示关机      等级1表示:单用户模式      等级2表示:无网络连接的多用户命令行模式      等级3表示:有网络连接的多用户命令行模式      等级4表示:不可用      等级5表示:带图形界面的多用户模式      等级6表示:重新启动 10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。

    添加上边两行就可以了,参考资料:https://www.cnblogs.com/zydev/p/5771189.html

      

  • 相关阅读:
    修复PLSQL Developer 与 Office 2010的集成导出Excel 功能
    Using svn in CLI with Batch
    mysql 备份数据库 mysqldump
    Red Hat 5.8 CentOS 6.5 共用 输入法
    HP 4411s Install Red Hat Enterprise Linux 5.8) Wireless Driver
    变更RHEL(Red Hat Enterprise Linux 5.8)更新源使之自动更新
    RedHat 5.6 问题简记
    Weblogic 9.2和10.3 改密码 一站完成
    ExtJS Tab里放Grid高度自适应问题,官方Perfect方案。
    文件和目录之utime函数
  • 原文地址:https://www.cnblogs.com/mxci/p/12411929.html
Copyright © 2011-2022 走看看