模塊式LAMP和fpm式LAMP實現wordpress

       Linux+Apache+Mysql/MariaDB+Perl/PHP/Python這一組合常用來搭建動態網站或者服務器的開源軟件,隨著開源潮流的蓬勃發展,開源的LAMP已經與J2EE和.Net商業軟件形成三足鼎立之勢,并且該軟件平臺在軟件方面的投資成本較低,,LAMP平臺已經成為最強大的WEB網站解決方案,今天就讓我們來嘗試模塊式LAMP與fpm式LAMP這兩種方式來實現動態網站的搭建。



    第一部分:模塊式LAMP實現wordpress

Apache2.4.18+mysql-5.5.33+php-5.4.26的編譯安裝過程:

一、編譯安裝apache2.4.18

為了確保編譯過程順利進行,首先解決依賴關系httpd-2.4.18需要較新版本的apr、apr-util和pcre-devel軟件包,因此需要事先對其進行升級。升級方式有兩種,一種是通過源代碼編譯安裝,一種是直接升級rpm包。這里apr、apr-util選擇使用編譯源代碼的方式進行,pcre-devel由于集成到red發行版里面,所有我這里直接yum安裝

第一步: 編譯安裝apr    

# tar xf apr-1.5.0.tar.bz2
# cd apr-1.5.0
# ./configure --prefix=/usr/local/apr
# make && make install

第二步:編譯安裝apr-util

# tar xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install

第三步:yum安裝pcre-devel

# yum install –y pcre-devel

第四步:編譯安裝httpd-2.4.18

# tar xf httpd-2.4.18.tar.bz2
# cd httpd-2.4.18
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
# make && make install

編譯安裝成功之后,為了更好是使用httpd服務,需要四步配置:

第一步,修改httpd的主配置文件,設置其Pid文件的路徑

 

編輯/etc/httpd/httpd.conf,添加如下行即可:

PidFile  "/var/run/httpd.pid"

第二步,提供服務啟動腳本/etc/rc.d/init.d/httpd

第三步,為此腳本賦予執行權限:

chmod +x /etc/rc.d/init.d/httpd

第四步,加入服務列表:

chkconfig –add httpd

接下來我就可以啟動該服務,

Service httpd start


二、安裝MySQL-5.5.33

由于MySQL數據庫源碼文件過于龐大,編譯過程異常慢,所有這里我并不打算源碼編譯安裝,而是直接使用編譯好的,即使是已經編譯好的MySQL,依然是需要我們對其系統環境進行相關設置,具體設置如下:

第一步:準備數據文件存放目錄,當然數據文件可以存放著一個單獨的磁盤上,或者在一個磁盤上創建邏輯卷,這里我僅僅使用根文件下創建/data/mydata/作為數據文件的存放路徑

 

第二步:創建mysql的運行用戶以及把數據文件目錄的擁有者賦予mysql

# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data

第三步:安裝并初始化mysql-5.5.33

# tar xf mysql-5.5.33-linux2.6-i686.tar.gz -C /usr/local
# cd /usr/local/
# ln -sv mysql-5.5.33-linux2.6-i686  mysql
# cd mysql 
# chown -R mysql:mysql  .
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# chown -R root  .

第四步:為mysql提供主配置文件

# cd /usr/local/mysql
# cp support-files/my-large.cnf  /etc/my.cnf


并修改此文件中thread_concurrency的值為你的CPU個數乘以2,比如這里使用如下行:

thread_concurrency = 2

 

另外還需要添加如下行指定mysql數據文件的存放位置:

datadir = /mydata/data


第五步;為mysql提供sysv服務腳本:

# cd /usr/local/mysql
# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld

添加至服務列表:

chkconfig –add mysqld

chkconfig mysqld on

為了使用mysql的安裝符合系統使用規范,并將其開發組件導出給系統使用,這里還需要進行如下步驟:


第六步:輸出mysql的man手冊至man命令的查找路徑:

編輯/etc/man.config,添加如下行即可:

MANPATH  /usr/local/mysql/man

 

         而后就可以啟動服務測試使用了


三、編譯安裝php5.4.26

    

第一步:解決依賴關系

            請配置好yum源(系統安裝源及epel源)后執行如下命令:

# yum -y groupinstall "Desktop Platform Development" 
# yum -y install bzip2-devel libmcrypt-devel

第二步:編譯安裝php-5.4.26

# tar xf php-5.4.26.tar.bz2
# cd php-5.4.26
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts
# make
# make test
# make intall

第三步:安裝xcache

# tar xf xcache-3.0.3.tar.gz
# cd xcache-3.0.3
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install

第四步:配置及測試

編輯apache配置文件httpd.conf,以apache支持php

# vim /etc/httpd/httpd.conf

添加如下二行

   AddType application/x-httpd-php  .php

   AddType application/x-httpd-php-source  .phps

定位至DirectoryIndex index.html

   修改為:

    DirectoryIndex  index.php  index.html

為php提供配置文件:

# cp php.ini-production /etc/php.ini

 

接下來編輯/etc/php.d/xcache.ini,找到zend_extension開頭的行,修改為如下行:

zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so

 

測試頁面index.php示例如下:

<?php
      $link = mysql_connect('127.0.0.1','root','');
      if ($link)
        echo "Success...";
      else
        echo "Failure...";
 
      mysql_close();
    ?>



如果訪問該頁面里面看到Success就說明我們的php以及mysql都能正常工作了。

四、安裝wordpress


#tar xf wordpress-4.4.2-zh_CN.zip
#cd wordpress-4.4.2
#vim wp-config.php

修改連接數據庫的名稱,連接數據庫的用戶以及密碼,訪問我們定義的頁面地址;

            如果能出現下圖頁面,說明我們的配置文件已經修改成功了,

wordpress1.jpg





第二部分:fpm式LAMP實現wordpress


一、apache、MySQL的安裝與前一部分相同;請根據其進行安裝;

二、編譯安裝php-5.4.26

第一步:解決依賴關系

請配置好yum源(系統安裝源及epel源)后執行如下命令:

# yum -y groupinstall "Desktop Platform Development" 
# yum -y install bzip2-devel libmcrypt-devel


第二步:編譯安裝php-5.4.26

# tar xf php-5.4.26.tar.bz2
# cd php-5.4.26
# ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --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  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
# make && make install

第三步:為php提供配置文件:

# cp php.ini-production /etc/php.ini

第四步:配置php-fpm

 為php-fpm提供SysV init腳本,并將其添加至服務列表:

# cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm
# chkconfig --add php-fpm
# chkconfig php-fpm on

第五步:為php-fpm提供配置文件,編輯php-fpm的配置文件

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
# vim /usr/local/php/etc/php-fpm.conf

配置fpm的相關選項為你所需要的值,并啟用pid文件(如下最后一行):

pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /usr/local/php/var/run/php-fpm.pid

第六步:接下來就可以啟動php-fpm了

 service php-fpm start

 

使用如下命令來驗正(如果此命令輸出有中幾個php-fpm進程就說明啟動成功了):

ps aux | grep php-fpm


三、配置httpd-2.4.18

 

第一步:啟用httpd的相關模塊

 

在Apache httpd 2.4以后已經專門有一個模塊針對FastCGI的實現,此模塊為mod_proxy_fcgi.so,它其實是作為mod_proxy.so模塊的擴充,因此,這兩個模塊都要加載


LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

第二步:配置虛擬主機支持使用fcgi 

在相應的虛擬主機中添加類似如下兩行。

  ProxyRequests Off

  ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1


第三步:編輯apache配置文件httpd.conf,讓apache能識別php格式的頁面,并支持php格式的主頁

 

 vim /etc/httpd/httpd.conf

 1、添加如下二行


 2、定位至DirectoryIndex index.html

   修改為:

 DirectoryIndex  index.php  index.html


四、安裝wordpress

#tar xf wordpress-4.4.2-zh_CN.zip
#cd wordpress-4.4.2
#vim wp-config.php


修改連接數據庫的名稱、連接數據庫的用戶以及密碼,訪問我們定義的頁面地址;

如果能出現下圖頁面,說明我們的配置文件已經修改成功了。

wordpress1.jpg





所謂萬丈高樓平地起,任何一個大的項目或者平臺都是從易到難,從簡單到負責,就連淘寶這么大的平臺最初只是一個簡單的LAMP平臺發展而來,所以熟練掌握好LAMP架構也是每個運維人員必備的素質,這樣才會在更大的舞臺上有更好的發展。

      







原創文章,作者:zhang,如若轉載,請注明出處:http://www.www58058.com/15190

(0)
zhangzhang
上一篇 2016-04-22
下一篇 2016-04-22

相關推薦

  • awk 的相關知識

    awk 介紹,基本用法,變量,格式化,操作符,條件判斷,循環,數組,函數等

    2018-01-01
  • 98-mysql數據備份

    一. 數據備份基礎知識

    2016-11-20
  • 2016-08-12作業

    1、查找/var 目錄下屬主為root ,且屬組為mail 的所有文件 [root@localhost bin]# find /var -user root -group mail /var/spool/mail /var/spool/mail/root   2、查找/var 目錄下不屬于root 、lp 、gdm 的所有文件 find /var …

    Linux干貨 2016-08-15
  • N22期-第五周博客作業

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@localhost jimmy]# egrep '^(root|fedora|user1)\>' /etc/passwd | cut -d: -f7 /bin/bas…

    Linux干貨 2016-09-10
  • 馬哥教育網絡20期—nginx

    Nginx 一. Nginx 特性 二. Nginx 基本架構 三. Nginx 基本功能 四. Nginx 安裝 五. Nginx 配置文件 六. Nginx http服務功能測試 七. Nginx LNMP 一. Nginx 特性 模塊化,目前只能將模塊編譯進Nginx,暫時不支持動態裝卸載模塊.(httpd優勢) 可靠性,一個主進程(master)控制…

    Linux干貨 2016-06-26
  • N27_第六周作業

    請詳細總結vim編輯器的使用并完成以下練習題 基本模式:編輯模式(命令模式),輸入模式,末行模式 模式轉換: 編輯模式–輸入模式: i:insert,在光標所在處前方輸入 a:append,在光標所在處后方輸入 o:在光標所在處的下方新建一行 I:在光標所在行行首輸入 A:在光標所在處行尾輸入 O:在光標所在處的上方打開一個新行 輸入模式&#82…

    Linux干貨 2017-10-26

評論列表(2條)

  • stanley
    stanley 2016-04-26 09:52

    添加如下二行
    下面的內容呢?

    • zhang
      zhang 2016-04-29 00:42

      @stanley添加如下兩行的內容:
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps

欧美性久久久久