LNMP/LEMP项目搭建
{
    项目框架        # Linux_____WEB_____PHP_____DB
            # rhel7_____apache__-(libphp5.so)-__php__-(php-mysql)-__mariadb-server
            # rhel7_____nginx___-(spawn-fcgi)-__php__-(php-mysql)-__mariadb-server
    安装软件包    # WEB 程序
            # CGI 管理器    @作用     ()监听9000端口 ()调用Php命令
                    @软件    spawn-fcgi
            # php 程序    php
            # 数据库程序    mariadb-server
            # php-db驱动     php-mysql
    配置nginx    # /etc/nginx/conf.d/
    配置spawn-fcgi     # /etc/sysconfig/spawn-fcgi
    配置mariadb-server
    创建数据文件    # 成品的php网站
    测试
}

LNMP/LEMP项目搭建 实验
{
[root@serverb ~]# mount 172.25.254.250:/content /mnt
[root@serverb ~]# rpm -ivh /mnt/item/nginx/other/nginx--.el7.ngx.x86_64.rpm
[root@serverb ~]# rpm -ivh /mnt/item/nginx/epel/spawn-fcgi--.el7.x86_64.rpm
[root@serverb ~]# yum install -y php mariadb-server php-mysql
[root@serverb ~]# cd /etc/nginx/conf.d/
[root@serverb conf.d]# cp default.conf www.bbs.com.conf
[root@serverb conf.d]# vim www.bbs.com.conf
server {
    listen ;
    server_name    www.bbs.com;
    root /usr/share/nginx/bbs.com;
    index index.php index.html index.htm;
    location ~ \.php$ {
    fastcgi_pass ;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/bbs.com$fastcgi_script_name;
    include fastcgi_params;
    }
    }
[root@serverb conf.d]# mkdir /usr/share/nginx/bbs.com
[root@serverb conf.d]# systemctl restart nginx.service
[root@serverb conf.d]# vim /etc/sysconfig/spawn-fcgi
OPTIONS="-u nginx -g nginx -p 9000 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"
[root@serverb conf.d]# systemctl start spawn-fcgi
[root@serverb conf.d]# /sbin/chkconfig spawn-fcgi on
[root@serverb conf.d]# systemctl enable mariadb.service
[root@serverb conf.d]# systemctl start mariadb.service
[root@serverb conf.d]# mysqladmin -u root password "uplooking"
[root@serverb php]# cp Discuz_X3.2_SC_UTF8.zip /tmp/
[root@serverb php]# cd /tmp/
[root@serverb tmp]# unzip Discuz_X3.2_SC_UTF8.zip
[root@serverb tmp]# cp -r upload/* /usr/share/nginx/bbs.com/
[root@serverb tmp]# chown nginx /usr/share/nginx/bbs.com/ -R
[root@workstation ~]# echo 172.25.15.10 www.bbs.com >> /etc/hosts
}

项目迁移
{
    迁移优先级    #数据库>其他软件
    迁移的流程{
            .程序的迁移
            .配置文件的迁移
            .数据文件的备份与迁移
            .地址的修改
            .权限的修改
    }
}

LNMP项目迁移
{
    迁移优先级    #数据库>php php-mysql spawn-fcgi
    迁移的流程{
            .程序的迁移
            .配置文件的迁移
            .数据文件的备份与迁移
            .地址的修改
            .权限的修改
    }
    数据库迁移
    php相关程序的迁移    

}

数据库迁移
{
旧机器上的操作{
        >备份数据文件并拷贝至新机器
        >修改配置文件中的地址 (此处的配置文件不是数据库配置文件,而是使用数据库的程序的配置文件)

            }
新机器上的操作{
        >安装程序并启动服务
        >导入旧机器上的数据文件
        >修改程序的权限
        }
}

项目迁移实验
{
    .数据库迁移实验         #实验目的:随着网站用户的增多,数据量越来越大,数据库需要扩容,现在想将数据库单独放在一台服务器上来解决数据库容量不足的问题
                #实验要求:将数据库从serverb-->serverj
    .LNMP项目迁移实验    #实验目的:原本的LNMP服务所在的服务器老化了,现在公司新买了两台服务器,要将LNMP服务迁移到新服务器上;数据库单独放在一台服务器上;php相关程序放在一台服务器上
                #实验要求:数据库serverb-->serverj;php相关程序serverb-->serverc
    .LNMP项目迁移并配置第二个php服务实验
                #实验要求:原本的LNMP服务所在的服务器老化了,现在公司新买了三台服务器,要将LNMP服务迁移到新服务器上;数据库单独放在一台服务器上;还有两台,配置两个php服务

}
具体实验请去实验论坛
数据库迁移详 实验
{
#实验目的:随着网站用户的增多,数据量越来越大,数据库需要扩容,现在想将数据库单独放在一台服务器上来解决数据库容量不足的问题
#实验要求:将数据库从serverb-->serverj
#实验步骤:
========================================================================
serverb{
    #数据库备份
    mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql <--将数据库文件备份并导出到/tmp/mariadb.all.sql文件中
    #复制到serveri中
    scp /tmp/mariadb.all.sql serveri:/tmp
    #地址的修改<==在/usr/share/nginx/bbs.com/目录中循环找到以.php结尾的文件,在文件中找到uplooking关键字的所在行,但是不输出(-q),而是输出该文件的文件名。此处uplooking是数据库的密码,请根据实际情况做修改。
    cd /usr/share/nginx/bbs.com;for i in $(find ./ -name "*.php");do grep -q "uplooking" $i && echo $i;done
    vim xxx.php
    #将找到的文件进行修改,将localhost改为数据库所在的服务器的ip地址
    #define('UC_DBHOST', 'localhost');         

    }

serverj{
    #安装mariadb-server 注意版本 安装相同版本的数据包
    yum install -y mariadb-server
    #开启服务,并设置开机服务自启
    systemctl enable mariadb;systemctl start mariadb
    #查看数据库文件是否复制成功
    ll /tmp/mariadb.all.sql
    #导入数据库文件
    mysql < /tmp/mariadb.all.sql
    #授权serverb的spawn-fcgi访问数据库
    #>授权ip地址
    echo "grant all on bbs.* to root@'192.168.0.11' identified by 'uplooking';" | mysql-u root -p uplooking
    #>授权主机名
    echo "grant all on bbs.* to root@'serverb.pod15.example.com' identified by 'uplooking';" | mysql -uuroot -puplooking
    #更新授权表 mysqladmin -uroot -puplooking flush-privileges
    }
--------------------------------------------------------------------------
#测试
serverb{
    #关闭数据库服务
    systemctl stop mariadb
}
workstation{
    #通过浏览器登陆www.bbs.com
    firefox
}
#问题和答案
#-u root 不能有空格;-p uplooking 不能有空格
    mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql
#find搜索*.php必须用双引号
find ./ -name "*.php"

#mysql登陆方式
    mysql -uroot -puplooking
    mysql -u root -p 回车
    输入密码
#*.*是指什么目录下的所有文件呢?
    echo "grant all on *.* to root@'192.168.0.11' identifide by 'uplooking';" | mysql -uroot -puplooking
    /var/lib/mysql

}

LNMP项目迁移实验
{
#实验目的:原本的LNMP服务所在的服务器老化了,现在公司新买了两台服务器,要将LNMP服务迁移到新服务器上;数据库单独放在一台服务器上;php相关程序放在一台服务器上
#实验要求:数据库serverb-->serverj;php相关程序serverb-->serverc
#实验步骤:
===============================================================
#第一步——数据库迁移(serverb-->serverj)
serverb{
    #数据库备份
    mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql <--将数据库文件备份并导出到/tmp/mariadb.all.sql文件中
    #复制到serveri中
    scp /tmp/mariadb.all.sql serveri:/tmp
    #地址的修改<==在/usr/share/nginx/bbs.com/目录中循环找到以.php结尾的文件,在文件中找到uplooking关键字的所在行,但是不输出(-q),而是输出该文件的文件名。此处uplooking是数据库的密码,请根据实际情况做修改。
    cd /usr/share/nginx/bbs.com;for i in $(find ./ -name "*.php");do grep -q "uplooking" $i && echo $i;done
    #将找到的文件进行修改,修改server_name,为数据库所在的服务器的ip地址
    vim xxx.php
    }

serverj{
    #安装mariadb-server 注意版本 安装相同版本的数据包
    yum install -y mariadb-server
    #开启服务,并设置开机服务自启
    systemctl enable mariadb;systemctl start mariadb
    #设置数据库密码
    mysqladmin -u root password 'uplooking'
    #查看数据库文件是否复制成功
    ll /tmp/mariadb.all.sql
    #导入数据库文件
    mysql < /tmp/mariadb.all.sql
    #授权serverb的spawn-fcgi访问数据库
    #>授权ip地址
    echo "grant all on *.* to root@'192.168.0.11' identified by 'uplooking';" | mysql -uroot -puplooking
    #>授权主机名
    echo "grant all on *.* to root@'serverb.pod15.example.com' identified by 'uplooking';" | mysql -uroot -puplooking
    #更新授权表 mysqladmin -uroot -puplooking flush-privileges
    }
}
---------------------------------------------------------------------------
#第二步——php相关程序的迁移 (serverb-->serverc)

serverb{
    #操作数据(偷懒的做法,直接将文件复制过去即可)
    scp /etc/sysconfig/spawn-fcgi serverc:/etc/sysconfig/spawn-fcgi
     #将serverb中的php相关文件转移到 serverc中 (需要相同的目录,最好用tar命令打包复制到serverc中)
    tar -cjf bbs.tar.bz2 /usr/share/nginx/bbs.com; scp bbs.tar.bz2 serverc:/usr/share/nginx/bbs.com
    #地址修改
     serverb 中的/etc/nginx/conf.d 目录下配置文件中关于php的配置的php指向改为 serverc的地址
       location ~ \.php$ {
            fastcgi_pass   ;(改为servec的地址)
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/yeliangcheng.com$fastcgi_script_name;
            include        fastcgi_params;
                   }

    }

serverc{
    #迁移程序--安装相同的软件包
    php php-mysql /mnt/item/nginx/epel/spawn-fcgi--.el7.x86_64.rpm
    #启动服务并设置开机自启
    systemctl start spawn-fcgi; /sbin/chkconfig spawn-fcgi on
    #php相关文件
    tar -jxf /usr/share/nginx/bbs.com/bbs.tar.bz2
    }
===================================================================================
#测试
serverb{
    #关闭数据库服务
    systemctl stop mariadb
    #关闭spawn-fcgi服务
    systemctl stop spawn-fcgi
    /sbin/chkconfig spawn-fcgi off
    }
workstation{
    #通过浏览器登陆www.bbs.com
    firefox
    }
#问题和解决

}

零基础学习云计算及大数据DBA集群架构师【企业级运维技术及实践项目2015年1月29日周五】的更多相关文章

  1. 零基础学习云计算及大数据DBA集群架构师【Linux系统环境及权限管理12.21-12.25】

    从这周开始Linux的学习,老师是一位女老师,这到给了更多的信心,老师讲得很快,如果说只谈记命令的话是不多,但是要真正去理解,其实内容还是挺多的,我都是以老师讲的内容为主线,然后自己再看鸟哥的书做加深 ...

  2. 零基础学习云计算及大数据DBA集群架构师【Linux系统配置及网络配置2015年12月30日周三】

    /Mon *************摘要************** 计划任务 )一次性计划任务 服务:atd 命令:at 服务存放文件:/etc/init.d/atd 系统配置文件:/etc/at. ...

  3. 零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月21日周四】

    lvy老师教项目课程,以及代课了shell部分课程,大家都觉得这位老师不行,上课时做的操作很多都是错误的,觉得她基础不好.而且,她不能解释原因,学生问为什么,她不知道.崩溃啊.向xx培训机构反应后,说 ...

  4. 零基础学习云计算及大数据DBA集群架构师【预科2015年12月14日周一】

    1.第一天比较轻松,上午填表格,录指纹,拍照片,做自我介绍. 2.下午老师简单介绍了一下PC\交换机\路由器\塔式服务器\机架式服务器(1U\2U)\刀片服务器\磁带机 3.班主任陈老师朱老师,预科秦 ...

  5. 零基础学习云计算及大数据DBA集群架构师【Linux系统\网络服务及安全配置2015年1月8日周五】

    考试考一天,得分94,最后一题防火墙当时还没搞明白 考题如下: 注意事项: .确保在重启主机后所有配置仍然生效. .selinux 必须为Enforing 模式,防火墙必须开始.默认策略必须清空. . ...

  6. 大数据Hadoop-Spark集群部署知识总结(一)

    大数据Hadoop-Spark集群部署知识总结 一.启动/关闭 hadoop myhadoop.sh start/stop 分步启动: 第一步:在hadoop102主机上 sbin/start-dfs ...

  7. 入门大数据---Redis集群分布式学习

    Redis是什么? 官方介绍: Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列( ...

  8. 一台虚拟机,基于docker搭建大数据HDP集群

    前言 好多人问我,这种基于大数据平台的xxxx的毕业设计要怎么做.这个可以参考之前写得关于我大数据毕业设计的文章.这篇文章是将对之前的毕设进行优化. 个人觉得可以分为两个部分.第一个部分就是基础的平台 ...

  9. 大数据——Hadoop集群坏境CentOS安装

    前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...

随机推荐

  1. C#面试-关于const和readonly(看了一个点赞很多的帖子有感而发!)

    前景提要: 最近大家都在面试,讨论最多.最基础的问题,莫过于“关于const和readonly常见的笔试题剖析”,等等的大牛解析.我就是一个小菜,只不过,有点不敢苟同大牛的意见.废话少说,进入重点. ...

  2. CodeFirst中DB保存时报错:对一个或多个实体的验证失败。

    错误提示如下: 开始以为有字段可能没有添加数据,可是检查了很久,仍然没有任何头绪. 后使用DbEntityValidationException进行调试,问题才得以解决

  3. iscc2016-basic-心灵鸡汤

    用winhex打开发现 ISCCCongratulations! You need remember: DEath IS JUST A PaRT oF lIFE,sOMeTHInG wE'RE aLL ...

  4. [POJ 2774] Long Long Message 【后缀数组】

    题目链接:POJ - 2774 题目分析 题目要求求出两个字符串的最长公共子串,使用后缀数组求解会十分容易. 将两个字符串用特殊字符隔开再连接到一起,求出后缀数组. 可以看出,最长公共子串就是两个字符 ...

  5. [BZOJ 1875] [SDOI 2009] HH去散步【矩阵乘法】

    题目链接:BZOJ - 1875 题目分析: 这道题如果去掉“不会立刻沿着刚刚走来的路走回”的限制,直接用邻接矩阵跑矩阵乘法就可以了.然而现在加了这个限制,建图的方式就要做一些改变.如果我们把每一条边 ...

  6. 通过 IDE 向 Storm 集群远程提交 topology

    转载: http://weyo.me/pages/techs/storm-topology-remote-submission/ http://www.javaworld.com/article/20 ...

  7. Static Final用法

    一.final数据 在 java编程语言中,有时候需要告知编译器一段数据是不变的编译期常量.对于这种情况,编译器可以将此常量值带入需要用到它的计算式子当中,这种在编译时 执行计算式的方法减轻了运行时的 ...

  8. python对拍程序

    import sys; import random; import os; gen=open("data.in","w"); #///生成测试数据 gen.cl ...

  9. 互联网组织的未来:剖析GitHub员工的任性之源

    转自:http://www.php100.com/html/it/hulianwang/2015/0108/8304.html [导读] 本文为大家介绍了著名代码托管服务商GitHub的组织运转结构. ...

  10. datetime和timer的使用(小小幻灯片)

    一:展示图片 每秒换一次图片,一共六十张图片,00-59 二:代码 a,设计代码 namespace timePicture { partial class Form1 { /// <summa ...