lamp+nfs搭建wordpress

一、前言

lamp是大多上公司常用的架构,本文将针对分离式的lamp+nfs来搭建一个简单的wordpress网站。

二、架构图

1.png

三、基本实现过程

3.1:dns搭建

由于这这是一个实验,故使用yum搭建dns服务器

yum install -y bind

配置如下

dns主配置文件

blob.png

dns辅助配置文件

blob.png

zone文件

blob.png

对所有服务器设置dns

blob.png

3.2:httpd服务器搭建

采用源码包编译安装,其中web1和web2搭建方式一致,故不啰嗦再贴图

安装一些必须软件

yum groupinstall -y  "Development tools"  “Server Platform Development”    #安装一些必须的软件包
cd apr-1.5.0
./configure --prefix=/data/apr                                                        #编译安装apr
make && make install
cd ../apr-util-1.5.3    
./configure --prefix=/data/apr-util --with-apr=/data/apr                            #编译安装apr-util
make && make install

编译安装httpd

./configure --prefix=/data/http --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/data/apr --with-apr-util=/data/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-fcgi
make && make install

安装之后启动无报错提示,但实际未启动,查看日志文件

blob.png

未加载mod_slotmem_shm.so模块,加载之后成功启动

LoadModule slotmem_shm_module modules/mod_slotmem_shm.so            #加载此模块

启动httpd服务

blob.png

3.3:安装php

先安装 libmcryt软件包

./configure --prefix=/data/libmcrypt                    #启用php服务器启用mcrypt需要安装此软件包
make && make install
cd /tmp/php-5.4.26
./configure --prefix=/data/php --with-mysql=mysqlnd --with-openssl --with-mysqli=mysqlnd --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --enable-fpm --with-mcrypt=/data/libmcrypt  --with-config-file-scan-dir=/data/php/php.d --with-bz2
make && make install
cp php.ini-production /data/php/lib/php.ini                    #复制php.ini文件
cp sapi/fpm/php-fpm /etc/rc.d/init.d/php-fpm                    #复制脚本文件
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
cp /data/php/etc/{php-fpm.conf.default,php-fpm.conf}            #复制一份php-fpm.conf文件

修改侦听端口

listen = 192.168.19.137:9000                    #修改侦听套接字

查询安装是否成功

blob.png

安装xcache

./configure --with-php-config=/data/php/bin/php-config --enable-xcache            #可选择不安装此软件,对实验无影响
make && make install
mkdir /data/php/php.d
cp xcache.ini /data/php/php.d                    #copy到php会加载的配置目录中来,否则需要把xcache.ini内容导入php.ini文件中

修改xcache.ini文件,加载xcache.so模块

blob.png

3.4:搭建nfs

yum install -y nfs-utils

启动nfs服务和rpcbind服务

blob.png

mkdir /data/web
把wordpress内容放入/data/web里
cp -R wordpress /data/web

exportfs文件

blob.png

3.5:mysqld搭建

采用二进制包安装

cp -R mysql-5.6.24-linux-glibc2.5-x86_64 /data/mysql
id mysql                                                    #由于以前有建立mysql用户,故此实验直接使用它
uid=495(mysql) gid=502(mysql) groups=502(mysql)
chown -R :mysql /data/mysql

初始化数据库

cd /data/mysql
scripts/mysql_install_db --basedir=/data/mysql --datadir=/db  --user=mysql        #初始化数据库
cp support-files/mysql.server /etc/init.d/mysqld                                    #copy数据库启动脚本

其中/etc/my.cnf修改如下

blob.png

对数据库进行一些简要设置

/data/mysql/bin/mysql_secure_installation                            #主要设置root密码,移除test实例等
service mysqld start

blob.png

3.6:挂载nfs文件(web1和web2)                            

blob.png

3.7:整合http+php+nfs

blob.png

创建虚拟机

blob.png

3.8:建立网站数据库

blob.png

四、测试

访问www.leon.com网站

blob.png

报错,无法创建wp-config文件

blob.png

修改/data/web权限

在web服务器或nfs服务器上修改

chmod -R o+w webweb                    #偷懒,直接给other写权限,线上环境就设置facl

访问正常

blob.png

五、总结

搭建过程中出现了较多问题,有些非常莫名其妙。排错过程中查看日志很重要,如搭建httpd服务时,只因一个模块未加载,导致启动httpd服务时,命令执行状态为真,命令行中未返回报错信息。测试端口时才发现为侦听。对于httpd的fastcgi尚有些理解误区,导致把网站文件放在httpd服务器上,php中未放置。结果一直提示404错误。

原创文章,作者:成吉思汗,如若转载,请注明出处:http://www.178linux.com/8814

(0)
成吉思汗成吉思汗
上一篇 2015-10-15
下一篇 2015-10-18

相关推荐

  • HA cluster原理

    HA cluster 一、什么是高可用集群   高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务。高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务一直在线。在这个过程中,对于客户端来说是透明的。 …

    2016-11-27
  • liunx的哲学思想

     Linux哲学思想 *一切皆文件(硬件、目录、普通文件、二进制文件等。) *小型,单一用途的程序 *链接程序,共同完成复杂的任务 *避免令人困惑的用户界面 *配置数据存储在文本中 解释:一切皆文件:是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型…

    Linux干货 2017-07-15
  • Shell脚本编程

    shell脚本编程 Bash为用户提供了编程环境 相对于计算机而言,只能识别二进制文件,因此其所运行的其实是二进制指令,而这些二进制指令我们称之为机器语言,属于低级语言;程序员编程所使用的语言为高级语言,是人们比较容易理解的语言;因此,程序的执行过程:先把源码程序翻译成机器语言(生成可执行的文件),然后解释执行。程序( 程序=指令+数据 )的编程风格有两种:…

    2017-04-14
  • windows server 2008 r2 每隔一段时间自动关机

    首先来说一下我的狗血经历:     话说作为一个地铁汪,每天背着电脑从房山到朝阳那简直就是能累死我的节奏,所以我跟公司申请我不要用自己的笔记本了(补助我不要了)。最后公司把一台不用的server 2008r2给我用,12G内存,志强CPU,跑虚拟机杠杠的。 但是噩梦开始了,我发现一个特点,这台server 2008 r…

    2015-11-26
  • linux流程控制if,for,case,while

     Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for、while和until。while循环和for循环属于“当型循环”,而until属于“直到型循环”。循环控制符:break和continue控制流程转向。 选择执行:           …

    Linux干货 2017-03-25
  • shell脚本基础

    1、编程基础     程序:指令+数据   程序编程风格:                         过程式:以指令为中心,数据服务于指令         &nbs…

    2017-04-20