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

相关推荐

  • user相关的一些命令及用法

    前言            我们知道,当我们进入一家公司做运维方面的工作的时候,我们需要对公司的服务器进行监控管理,换句话说,我们需要一个身份来操作服务器。那么我们又知道,linux系统下拥有最高权限的管理员是Root,它无所不能,无所畏惧,那么公司肯定就是不会把这个账户交给你使用。那么就引出一个概…

    2017-07-22
  • ​Linux基础知识之文件权限

    实验环境:    Linux系统版本为CentOS6.8_x86_64版本,以root用户和sjsir用户远程用xshell连接系统,进行试验。 文本目录:    1.文件的属性    2.文件权限相关的命令    3.umask 新建文件和目录的默认权限   &nbs…

    Linux干货 2016-08-05
  • yum仓库配置

    yum仓库搭建 yum客户端在安装之前要在服务器下载相关的源数据缓存在 cachedir=/var/cache/yum/$basearch/$releasever中 gpgcheck=1检查数据包的签名完整性 导入钥匙或gpgcheck=0就不检查否侧安装不了yum 在/etc/yum.conf设置配置文件 在/etc/yum.repos.d中创建一个后缀是…

    2017-12-03
  • LVM2 ( Blog4 )

    LV基本应用,扩展及缩减实现

    Linux干货 2017-11-27
  • keepalive

    HA Cluster: 集群类型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP SPoF: Single Point of Failure 系统可用性的公式:A=MTBF/(MTBF+MTTR)(0,1), 95%几个9(指标): 99%, …, 99.999%,99.9999%;99%:…

    Linux干货 2017-05-22
  • 8.3_Linux习题和作业

    课堂习题 1.当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? 答:不能cd进该目录 2.当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作? 答:不能查看目录内的文件列表,不能cd,也不能查看目录里面文件的元数据 3.当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件…

    Linux干货 2016-08-05