1. LNMP/LEMP项目搭建
  2. {
  3. 项目框架 # Linux_____WEB_____PHP_____DB
  4. # rhel7_____apache__-(libphp5.so)-__php__-(php-mysql)-__mariadb-server
  5. # rhel7_____nginx___-(spawn-fcgi)-__php__-(php-mysql)-__mariadb-server
  6. 安装软件包 # WEB 程序
  7. # CGI 管理器 @作用 ()监听9000端口 ()调用Php命令
  8. @软件 spawn-fcgi
  9. # php 程序 php
  10. # 数据库程序 mariadb-server
  11. # php-db驱动 php-mysql
  12. 配置nginx # /etc/nginx/conf.d/
  13. 配置spawn-fcgi # /etc/sysconfig/spawn-fcgi
  14. 配置mariadb-server
  15. 创建数据文件 # 成品的php网站
  16. 测试
  17. }
  18.  
  1. LNMP/LEMP项目搭建 实验
  2. {
  3. [root@serverb ~]# mount 172.25.254.250:/content /mnt
  4. [root@serverb ~]# rpm -ivh /mnt/item/nginx/other/nginx--.el7.ngx.x86_64.rpm
  5. [root@serverb ~]# rpm -ivh /mnt/item/nginx/epel/spawn-fcgi--.el7.x86_64.rpm
  6. [root@serverb ~]# yum install -y php mariadb-server php-mysql
  7. [root@serverb ~]# cd /etc/nginx/conf.d/
  8. [root@serverb conf.d]# cp default.conf www.bbs.com.conf
  9. [root@serverb conf.d]# vim www.bbs.com.conf
  10. server {
  11. listen ;
  12. server_name www.bbs.com;
  13. root /usr/share/nginx/bbs.com;
  14. index index.php index.html index.htm;
  15. location ~ \.php$ {
  16. fastcgi_pass ;
  17. fastcgi_index index.php;
  18. fastcgi_param SCRIPT_FILENAME /usr/share/nginx/bbs.com$fastcgi_script_name;
  19. include fastcgi_params;
  20. }
  21. }
  22. [root@serverb conf.d]# mkdir /usr/share/nginx/bbs.com
  23. [root@serverb conf.d]# systemctl restart nginx.service
  24. [root@serverb conf.d]# vim /etc/sysconfig/spawn-fcgi
  25. OPTIONS="-u nginx -g nginx -p 9000 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"
  26. [root@serverb conf.d]# systemctl start spawn-fcgi
  27. [root@serverb conf.d]# /sbin/chkconfig spawn-fcgi on
  28. [root@serverb conf.d]# systemctl enable mariadb.service
  29. [root@serverb conf.d]# systemctl start mariadb.service
  30. [root@serverb conf.d]# mysqladmin -u root password "uplooking"
  31. [root@serverb php]# cp Discuz_X3.2_SC_UTF8.zip /tmp/
  32. [root@serverb php]# cd /tmp/
  33. [root@serverb tmp]# unzip Discuz_X3.2_SC_UTF8.zip
  34. [root@serverb tmp]# cp -r upload/* /usr/share/nginx/bbs.com/
  35. [root@serverb tmp]# chown nginx /usr/share/nginx/bbs.com/ -R
  36. [root@workstation ~]# echo 172.25.15.10 www.bbs.com >> /etc/hosts
  37. }
  38.  
  1. 项目迁移
  2. {
  3. 迁移优先级 #数据库>其他软件
  4. 迁移的流程{
  5. .程序的迁移
  6. .配置文件的迁移
  7. .数据文件的备份与迁移
  8. .地址的修改
  9. .权限的修改
  10. }
  11. }
  12.  
  13. LNMP项目迁移
  14. {
  15. 迁移优先级 #数据库>php php-mysql spawn-fcgi
  16. 迁移的流程{
  17. .程序的迁移
  18. .配置文件的迁移
  19. .数据文件的备份与迁移
  20. .地址的修改
  21. .权限的修改
  22. }
  23. 数据库迁移
  24. php相关程序的迁移
  25.  
  26. }
  27.  
  28. 数据库迁移
  29. {
  30. 旧机器上的操作{
  31. >备份数据文件并拷贝至新机器
  32. >修改配置文件中的地址 (此处的配置文件不是数据库配置文件,而是使用数据库的程序的配置文件)
  33.  
  34. }
  35. 新机器上的操作{
  36. >安装程序并启动服务
  37. >导入旧机器上的数据文件
  38. >修改程序的权限
  39. }
  40. }
  41.  
  42. 项目迁移实验
  43. {
  44. .数据库迁移实验 #实验目的:随着网站用户的增多,数据量越来越大,数据库需要扩容,现在想将数据库单独放在一台服务器上来解决数据库容量不足的问题
  45. #实验要求:将数据库从serverb-->serverj
  46. .LNMP项目迁移实验 #实验目的:原本的LNMP服务所在的服务器老化了,现在公司新买了两台服务器,要将LNMP服务迁移到新服务器上;数据库单独放在一台服务器上;php相关程序放在一台服务器上
  47. #实验要求:数据库serverb-->serverj;php相关程序serverb-->serverc
  48. .LNMP项目迁移并配置第二个php服务实验
  49. #实验要求:原本的LNMP服务所在的服务器老化了,现在公司新买了三台服务器,要将LNMP服务迁移到新服务器上;数据库单独放在一台服务器上;还有两台,配置两个php服务
  50.  
  51. }
  52. 具体实验请去实验论坛
  53. 数据库迁移详 实验
  54. {
  55. #实验目的:随着网站用户的增多,数据量越来越大,数据库需要扩容,现在想将数据库单独放在一台服务器上来解决数据库容量不足的问题
  56. #实验要求:将数据库从serverb-->serverj
  57. #实验步骤:
  58. ========================================================================
  59. serverb{
  60. #数据库备份
  61. mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql <--将数据库文件备份并导出到/tmp/mariadb.all.sql文件中
  62. #复制到serveri中
  63. scp /tmp/mariadb.all.sql serveri:/tmp
  64. #地址的修改<==在/usr/share/nginx/bbs.com/目录中循环找到以.php结尾的文件,在文件中找到uplooking关键字的所在行,但是不输出(-q),而是输出该文件的文件名。此处uplooking是数据库的密码,请根据实际情况做修改。
  65. cd /usr/share/nginx/bbs.com;for i in $(find ./ -name "*.php");do grep -q "uplooking" $i && echo $i;done
  66. vim xxx.php
  67. #将找到的文件进行修改,将localhost改为数据库所在的服务器的ip地址
  68. #define('UC_DBHOST', 'localhost');
  69.  
  70. }
  71.  
  72. serverj{
  73. #安装mariadb-server 注意版本 安装相同版本的数据包
  74. yum install -y mariadb-server
  75. #开启服务,并设置开机服务自启
  76. systemctl enable mariadb;systemctl start mariadb
  77. #查看数据库文件是否复制成功
  78. ll /tmp/mariadb.all.sql
  79. #导入数据库文件
  80. mysql < /tmp/mariadb.all.sql
  81. #授权serverb的spawn-fcgi访问数据库
  82. #>授权ip地址
  83. echo "grant all on bbs.* to root@'192.168.0.11' identified by 'uplooking';" | mysql-u root -p uplooking
  84. #>授权主机名
  85. echo "grant all on bbs.* to root@'serverb.pod15.example.com' identified by 'uplooking';" | mysql -uuroot -puplooking
  86. #更新授权表 mysqladmin -uroot -puplooking flush-privileges
  87. }
  88. --------------------------------------------------------------------------
  89. #测试
  90. serverb{
  91. #关闭数据库服务
  92. systemctl stop mariadb
  93. }
  94. workstation{
  95. #通过浏览器登陆www.bbs.com
  96. firefox
  97. }
  98. #问题和答案
  99. #-u root 不能有空格;-p uplooking 不能有空格
  100. mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql
  101. #find搜索*.php必须用双引号
  102. find ./ -name "*.php"
  103.  
  104. #mysql登陆方式
  105. mysql -uroot -puplooking
  106. mysql -u root -p 回车
  107. 输入密码
  108. #*.*是指什么目录下的所有文件呢?
  109. echo "grant all on *.* to root@'192.168.0.11' identifide by 'uplooking';" | mysql -uroot -puplooking
  110. /var/lib/mysql
  111.  
  112. }
  113.  
  114. LNMP项目迁移实验
  115. {
  116. #实验目的:原本的LNMP服务所在的服务器老化了,现在公司新买了两台服务器,要将LNMP服务迁移到新服务器上;数据库单独放在一台服务器上;php相关程序放在一台服务器上
  117. #实验要求:数据库serverb-->serverj;php相关程序serverb-->serverc
  118. #实验步骤:
  119. ===============================================================
  120. #第一步——数据库迁移(serverb-->serverj)
  121. serverb{
  122. #数据库备份
  123. mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql <--将数据库文件备份并导出到/tmp/mariadb.all.sql文件中
  124. #复制到serveri中
  125. scp /tmp/mariadb.all.sql serveri:/tmp
  126. #地址的修改<==在/usr/share/nginx/bbs.com/目录中循环找到以.php结尾的文件,在文件中找到uplooking关键字的所在行,但是不输出(-q),而是输出该文件的文件名。此处uplooking是数据库的密码,请根据实际情况做修改。
  127. cd /usr/share/nginx/bbs.com;for i in $(find ./ -name "*.php");do grep -q "uplooking" $i && echo $i;done
  128. #将找到的文件进行修改,修改server_name,为数据库所在的服务器的ip地址
  129. vim xxx.php
  130. }
  131.  
  132. serverj{
  133. #安装mariadb-server 注意版本 安装相同版本的数据包
  134. yum install -y mariadb-server
  135. #开启服务,并设置开机服务自启
  136. systemctl enable mariadb;systemctl start mariadb
  137. #设置数据库密码
  138. mysqladmin -u root password 'uplooking'
  139. #查看数据库文件是否复制成功
  140. ll /tmp/mariadb.all.sql
  141. #导入数据库文件
  142. mysql < /tmp/mariadb.all.sql
  143. #授权serverb的spawn-fcgi访问数据库
  144. #>授权ip地址
  145. echo "grant all on *.* to root@'192.168.0.11' identified by 'uplooking';" | mysql -uroot -puplooking
  146. #>授权主机名
  147. echo "grant all on *.* to root@'serverb.pod15.example.com' identified by 'uplooking';" | mysql -uroot -puplooking
  148. #更新授权表 mysqladmin -uroot -puplooking flush-privileges
  149. }
  150. }
  151. ---------------------------------------------------------------------------
  152. #第二步——php相关程序的迁移 (serverb-->serverc)
  153.  
  154. serverb{
  155. #操作数据(偷懒的做法,直接将文件复制过去即可)
  156. scp /etc/sysconfig/spawn-fcgi serverc:/etc/sysconfig/spawn-fcgi
  157. #将serverb中的php相关文件转移到 serverc中 (需要相同的目录,最好用tar命令打包复制到serverc中)
  158. tar -cjf bbs.tar.bz2 /usr/share/nginx/bbs.com; scp bbs.tar.bz2 serverc:/usr/share/nginx/bbs.com
  159. #地址修改
  160. serverb 中的/etc/nginx/conf.d 目录下配置文件中关于php的配置的php指向改为 serverc的地址
  161. location ~ \.php$ {
  162. fastcgi_pass ;(改为servec的地址)
  163. fastcgi_index index.php;
  164. fastcgi_param SCRIPT_FILENAME /usr/share/nginx/yeliangcheng.com$fastcgi_script_name;
  165. include fastcgi_params;
  166. }
  167.  
  168. }
  169.  
  170. serverc{
  171. #迁移程序--安装相同的软件包
  172. php php-mysql /mnt/item/nginx/epel/spawn-fcgi--.el7.x86_64.rpm
  173. #启动服务并设置开机自启
  174. systemctl start spawn-fcgi; /sbin/chkconfig spawn-fcgi on
  175. #php相关文件
  176. tar -jxf /usr/share/nginx/bbs.com/bbs.tar.bz2
  177. }
  178. ===================================================================================
  179. #测试
  180. serverb{
  181. #关闭数据库服务
  182. systemctl stop mariadb
  183. #关闭spawn-fcgi服务
  184. systemctl stop spawn-fcgi
  185. /sbin/chkconfig spawn-fcgi off
  186. }
  187. workstation{
  188. #通过浏览器登陆www.bbs.com
  189. firefox
  190. }
  191. #问题和解决
  192.  
  193. }

零基础学习云计算及大数据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. linux下shapely的安装

    错误 1.“from shapely.geometry import Point, LineString, Polygon”时报错: OSError: Could not find library g ...

  2. string.Format 日期格式化

    String.Format日期的格式化例子: DateTime dt = DateTime.Now;//2010年10月4日 17点05分 string str = ""; //s ...

  3. hadoop hdfs 命令行 设置文件夹大小的上限 quota:配额

    >bin/hdfs dfs -put readme.txt /finance >bin/hdfs dfs -du -s /finance > /finance >bin/hdf ...

  4. Node.js全局对象

    Node.js的全局对象是具有全局性的,它们可在所有的模块中应用.我们并不需要包括这些对象在应用中,而可以直接使用它们.这些对象的模块,函数,字符串和对象本身,如下所述. __filename __f ...

  5. 巧用powerpoint制作符合期刊要求的复合图

  6. java 反射 动态代理

    在上一篇文章中介绍Java注解的时候,多次提到了Java的反射API.与javax.lang.model不同的是,通过反射API可以获取程序在运行时刻的内部结构.反射API中提供的动态代理也是非常强大 ...

  7. Little Kings

    sgu223:http://acm.sgu.ru/problem.php?contest=0&problem=223 题意:n*n的格子放k个国王,一共有多少种放发. 题解:简单的状压DP. ...

  8. 【HDOJ】3442 Three Kingdoms

    bfs+状态压缩.初始化数组的曼哈顿距离条件写错了,改了一下午. /* 3442 */ #include <iostream> #include <cstdio> #inclu ...

  9. COJ 0601&0602 动态规划(二)及加强

    未加强传送门0601:http://oj.cnuschool.org.cn/oj/home/addSolution.htm?problemID=571 加强传送门0602:http://oj.cnus ...

  10. 【模拟】Codeforces 710A King Moves

    题目链接: http://codeforces.com/problemset/problem/710/A 题目大意: 国际象棋标准8X8棋盘,国王能往周围8个方向走.输入国王的位置,输出当前国王能往几 ...