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 16:38
下一篇 2015-10-18 19:23

相关推荐

  • 数据库基础

    数据库基础 一、数据模型 数据库模型图 1、层次模型、2、网状模型、 3、关系模型二维关系: 表:就是一个关系及属性的描述,如:学生(学好,姓名,性别,班级)       行:row, entity       列:colume,…

    Linux干货 2016-10-19
  • 系统启动流程 grub

    grub CentOS 6启动流程: POST —> Boot Sequence(BIOS) —> Boot Loader —>Kernel(ramdisk) —> rootfs —> switchroot —> /sbin/init—>(/etc/inittab, /etc/init/*.conf) —> 设…

    Linux干货 2016-09-16
  • man,男人的使用方法

        Linux中有个很强大的男人,这个男人就是man。任何不懂得命令和或者配置文件我们都可以去man,所以请深爱这个男人;     我们输入 man ls,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,同样,我们输入“ma…

    Linux干货 2016-07-26
  • 马哥教育网络班第19期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:一种网路装置,负责网路桥接,将网络的多个网段在数据链路层连接起来。 集线器:将多条以太网线或光纤集合连接在同一段物理介质下的装置。工作在物理层。 二层交换机:工作在数据链路层,交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通…

    Linux干货 2016-08-22
  • 常用RAID级别浅析

    简介:    RAID为独立冗余磁盘阵列的简称,它可以通过软件或硬件技术把多个较小的磁盘整合成一个较大的磁盘。从而实现较大的 磁盘存储,容错及数据保护功能,较快的数据读写等功能. 实现方式:      硬件实现方式:通过bios参数调整来实现      软件实…

    2017-06-17
  • lnmp部署实验

    Lnmp部署 实验环境: 1、Centos 7主机一台,客户机一台。 2、在centos 7主机上部署:    Nginx  php-fpm  php-mysql  mariadb-server 实验步骤: 1、启动nginx服务,确保80端口打开,启动mariadb-server,确保3306端口…

    Linux干货 2016-10-30