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.www58058.com/8814

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

相關推薦

  • 第二周博客作業

      '經過了兩周的學習,對Linux有了更深的認識,學習到了很多的新知識,在此進行總結。一、Linux上的文件管理類命令都有哪些,其常用的使用方法及相關示例演示。答:Linux常用的文件管理類命令主要有以下幾個:  cp,mv,rm,mkdir,rmdir,install,touch;  cp命令:  作用是拷貝文件或文件夾,其用法為:  cp […

    Linux干貨 2016-12-12
  • 馬哥教育網絡班20期第2周課程練習

    答: 1、 cp,mv,rm,cat(tac,more,less,tail),touch 其中常用的有: cp(復制):                   -i:交互式              -…

    Linux干貨 2016-06-23
  • 2016/10/19作業:軟鏈接與硬鏈接的區別

    軟鏈接和硬鏈接的區別 linux中鏈接分為兩種,一種是硬鏈接(Hard Link),一種是符號鏈接(Symbolic Link),其中,符號鏈接又稱為軟鏈接。 硬鏈接: 在Linux文件系統中 ,磁盤中的所有文件都有一個編號,這個編號稱為索引節點(Inode)。在Linux中,多個同一索引節點可以有多個文件名,這就是硬鏈接。硬鏈…

    Linux干貨 2016-10-20
  • Linux獲取命令幫助的途徑

    在學習和使用Linux的過程中,免不了會遇到一些我們不熟悉或者不知道的命令。對于這些我們不熟悉的命令,就需要查找幫助文檔來獲取更多信息來協助我們完成相關的工作。 如何獲取Linux命令的使用幫助? 1.  針對內部命令 help [命令名] 2.  針對外部命令 [命令名] –help,    獲取簡要幫助…

    Linux干貨 2017-09-01
  • 非交互式添加分區

    非交互式添加分區 方法一 添加/deb/sdb 下的分區,其實位置為1到1000M,第二個分區位置為1001至3000M,位置千萬不能指定錯誤 parted /dev/sdb mkpart primary 1 1000M parted /dev/sdb mkpart primary 1001 3000M 方法二 (1)將你要在parted命令行輸入的命令實現…

    Linux干貨 2017-04-24
  • lamp的編譯安裝

    基于http的php模塊模式 一、需要準備的軟件:     apr-1.5.0.tar    apr-util-1.5.3.tar    httpd-2.4.9.tar        mysql-5.5.33-…

    Linux干貨 2016-06-22
欧美性久久久久