模塊式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 13:30
下一篇 2016-04-22 15:44

相關推薦

  • 磁盤配額的操作步驟

    磁盤配額 操作步驟: 1、創建一個10G的分區 /dev/sdd1并將其格式化,掛載 2、如果是新硬盤便不存在同步問題。舊硬盤得使用命令partx  -a /dev/sdd1 3、臨時創建掛載文件夾 /mnt/home    4、將/home/*  mv  到 /mnt/home 中,再將/dev/…

    Linux干貨 2016-09-01
  • Linux Basics–part3

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 ~]# who | cut -d” ” -f1 | sort -u centos ronny root 或 ~]# who | cut -d” ” -f1 | sort |uniq centos ronny root 2…

    Linux干貨 2017-08-07
  • 基于haproxy的全站https

          前一段時間新疆等地用戶訪問國務院官網,在首頁上發現大量淫穢信息及廣告,后反映給相關工作人員。經排查,并非是網站被劫持和入侵,而是運營商流量劫持導致的這個結果……此處且不論該時間后續事宜,作為一名優秀的運維工程師,我們面對運營商如此流氓的行為,應該怎么辦? 當然是全站HTTPS了,目前,百度、阿…

    2017-05-18
  • Nginx 負載均衡多個nmmp主機

    設計拓撲圖 一、Memcache簡介 cache(緩存系統) 高性能分布式緩存服務器,緩存所有的“可流式化”數據:livejournal旗下Danga Interacive公司 程序=指令+數據 指令:程序 數據:IO操作 文件系統: 特征:協議簡單  基于libevent的事件處理  內置內存存儲方式  memcached 不…

    2014-09-17
  • 馬哥教育網絡班21期-第七周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; # mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1 # mount&…

    Linux干貨 2016-08-24
  • 淺談Linux賬號與用戶組管理

    在學習linux系統中,最重要的莫過于對系統賬戶的管理以及如何恰當的分配用戶組權限。在我們登陸linux系統的時候,輸入的賬號,其實并不是linux所能識別的。由于計算機僅能夠識別0與1,所以它僅能認識ID(一組號碼)用戶標示符UID、GID。相應的你所輸入的賬號與ID的對應關系就保存在/etc/passwd當中。 對于每一個文件來說都具有”所有者與所屬用戶…

    2017-07-22

評論列表(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

欧美性久久久久