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

相关推荐

  • SSH协议详解

    OpenSSH 一、 前言 使用SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。而OpenSSH是SSH协议的免费开源实现,它采用安全、加密的网络连接工具代替了telnet、ftp等古老明文传输工具。 SSH(Secure Shell)是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性…

    Linux干货 2016-12-16
  • 第二十周作业

    一、用keepalived实现nginx与lvs的高可用集群 keepalived+nginx高可用环境:node1:    192.168.31.233     keepalived+nginx masternode2:    192.168.31.72      k…

    2017-07-22
  • 8.5文本处理工具

    取本机ip地址 利用head命令取行首两行,tail命令取行尾一行, ifconfig |head -2 |tail -1   利用tr -s命令替换空格为“:”,并合并重复的“:”。利用cut -d:-f3命令,保留以“:”为分割符的第三部分   ifconfig |head -2 |tail -1 |tr -s "…

    Linux干货 2016-08-08
  • 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@unclez ~]#  grep -E "^[[:space:]]+.*" /boot/grub/grub.cong 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟…

    Linux干货 2016-12-31
  • 马哥教育N22期第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 root@xuc-virtual-machine:/home/xuc# cp -r /etc/skel/ /home/tuser1 root@xuc-virtual-machine:/…

    Linux干货 2016-09-06
  • LVS DR模式

    一、测试环境说明 操作系统:CentOS6.7-X64 IP_VS版本:1.2.26 DR:10.10.10.130 VIP:10.10.10.140 RS1:10.10.10.131 RS2:10.10.10.132 二、LVS-DR模式原理 a)客户端发送一个请求(源地址为CIP,目标地址为VIP,我们简称为CIP:VIP)到LVS的DR b)通过在调度…

    Linux干货 2016-09-19