實驗-----在centos6上編譯lamp基於fpm模式的應用wordpress

實驗:在centos6上編譯lamp基於fpm模式的應用wordpress,並且實現xcache加速

 

軟件版本:

      apr-1.6.2.tar.gz       mariadb-5.5.57-linux-x86_64.tar.gz    

      apr-util-1.6.0.tar.gz     xcache-3.2.0.tar.gz

      php-5.6.31.tar.xz        httpd-2.4.28.tar.bz2

      wordpress-4.8.1-zh_CN.tar.gz

必要的包:

      "development tools"                    開發環境包組

      openssl-devel expat-devel pcre-devel       httpd需要的包

      libxml2-devel bzip2-devel libmcrypt-devel     php需要的包

步驟:

1、源碼編譯安裝Httpd2.4

具體含義請參考之前的博文:http://13150617.blog.51cto.com/13140617/1974733

  ①安裝包組及包

   yum groupinstall "development tools"   安裝開發包組

   yum install openssl-devel expat-devel pcre-devel   安裝必要的包

 

  ②下載軟件並解壓

   tar xvf apr-1.6.2.tar.gz

   tar xvf apr-util-1.6.0.tar.gz

   tar xvf httpd-2.4.28.tar.bz2

   cp -r apr-1.6.2 httpd-2.4.28/srclib/apr

   cp -r apr-util-1.6.0 httpd-2.4.28/srclib/apr-util   將apr和apr-util放到同一指定目錄下

  ③編譯安裝httpd

    cd httpd-2.4.28/

    ./configure --prefix=/app/httpd24 \

    --enable-so \

    --enable-ssl \

    --enable-cgi \

    --enable-rewrite \

    --with-zlib \

    --with-pcre \

    --with-included-apr \

    --enable-modules=most \

    --enable-mpms-shared=all \

    --with-mpm=prefork

    make -j 4 && make install       

  ④將httpd的命令路徑加入PATH變量,方便使用(不需要每次都使用絕對路徑)

    vim /etc/profile.d/lamp.sh             

    PATH=/app/httpd24/bin/:$PATH

   . /etc/profile.d/lamp.sh   執行腳本使其生效

  ⑤啓動服務

    apachectl start

  ⑥配置成服務

   cp /etc/init.d/httpd /etc/init.d/httpd24   

    vim /etc/init.d/httpd24

        apachectl=/app/httpd24/bin/apachectl

        httpd=${HTTPD-/app/httpd24/bin/httpd}

      pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}

      lockfile=${LOCKFILE-/var/lock/subsys/httpd24}     

    chkconfig --add httpd24

    service http24 restart  重啓服務

   查看已打開80端口:ss -ntl

0646c881e676853fdfc64e3ba00cc3ef.jpg

2、二進制安裝mariadb

具體含義請參考之前的博文:http://13150617.blog.51cto.com/13140617/1971776

  ①下載二進制包並解壓

tar xvf mariadb-10.2.9-linux-x86_64.tar.gz -C /usr/local/  路徑必須在這裏

  ②將解壓後的包改名爲mysql

cd /usr/local

ln -s mariadb-10.2.9-linux-x86_64/ mysql  創建軟鏈接,名字必須爲mysql,

   或者,mv mariadb-10.2.9-linux-x86_64 mysql 直接改名爲mysql

  ③創建mysql用戶

mkdir -p /app/mysqldb 

useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql  創建mysql用戶,家目錄爲/app/mysqldb,可以自己指定


【附加,可以不做此操作:使用邏輯卷作爲數據庫的數據存放位置

   設置-->添加一塊硬盤

   echo '- - -' > /sys/class/scsi_host/host2/scan  使硬盤生效

   創建邏輯卷:

   pvcreat /dev/sdb                                      vgcreate vg_mysqldb /dev/sdb

   lvcreate -n lv_mysqldb -l +100%FREE vg_mysqldb 

   mkfs.ext4 /dev/vg_mysqldb/lv_mysqldb -L /app/mysqldb(卷標名)   格式化

   vim /etc/fstab   配置開機掛載                                   /dev/vg_mysqldb/lv_mysqldb /app/mysqldb ext4 defaults,acl 0 0

   mount -a  重新掛載

   chown mysql /app/mysqldb 修改文件所屬人爲mysql

  ④生成數據庫文件 

     cd /usr/local/mysql/

     scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql   運行腳本生成數據庫文件

  ⑤生成mysql的配置文件

   mkdir /etc/mysql 

cp support-files/my-large.cnf   /etc/mysql/my.cnf  文件名必須叫這個 

vim /etc/mysql/my.cnf

    [mysqld]

    datadir = /app/mysqldb

    innodb_file_per_table = ON

    skip_name_resolve = ON 

  ⑥將mysqp配置成服務mysqld

cp support-files/mysql.server /etc/init.d/mysqld  

chkconfig --add mysqld

service mysqld start      啓動不了因爲沒有日誌文件,根據提示做如下操作

 

touch /var/log/mysqld.log           創建日誌文件

chown mysql /var/log/mysqld.log          修改日誌文件權限

service mysqld start                 啓動mysqld服務

ss -ntl                    看到3306端口打開

d36e5b196c4faf52bf777424ab28de30.jpg 

  ⑦將mysqld的命令路徑加入PATH變量,方便使用

 vim /etc/profile.d/lamp.sh                      

     PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH

 . /etc/profile.d/lamp.sh  

  ⑧運行安全腳本,設置root密碼

   mysql_secure_installation    

  ⑨登陸數據庫創建數據庫及用戶wordpress的實現做準備

   mysql -uroot -pcentos  

  >create datebase blogdb;  創建blogdb數據庫

   創建用戶wpuser@'192.168.199.%'並授權:

  >grant all on blogdb.* to wpuser@'192.168.199.%' identified by '123456';


3、源碼編譯安裝Php

  ①安裝必要的包,下載php源碼並解壓

yum install libxml2-devel bzip2-devel libmcrypt-devel  有的包需要epel源

tar xvf php-7.1.10.tar.xz

  ②編譯安裝php,基於fpm獨立服務方式

    cd php-7.1.10/

    ./configure --prefix=/app/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 \

    --enable-fpm \

    --with-mcrypt \

    --with-config-file-path=/etc/php \

    --with-config-file-scan-dir=/etc/php.d \

    --with-bz2 

     make -j 4 && make install

 ③將php的命令路徑加入PATH變量,方便使用

   vim /etc/profile.d/lamp.sh      

    PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:/app/php/bin/:$PATH   

   . /etc/profile.d/lamp.sh

  ④準備php所需的文件 


    準備php的配置文件:

     mkdir /etc/php

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


    複製腳本模板並配置成服務,方便使用:

     cp php-7.1.10/sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm   

     chkconfig --add php-fpm

     chmod +x /etc/init.d/php-fpm


    準備自己服務的配置文件:

     cp /app/php/etc/php-fpm.conf.default /app/php/etc/php-fpm.conf  

 

4、編輯httpd的主配置文件使其支持php

  vim /app/httpd24/conf/httpd.conf        

   在文件尾部加四行        

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/http24/htdocs/$1

    AddType application/x-httpd-php .php

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

   取消兩行註釋

     LoadModule proxy_module modules/mod_proxy.so

     LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

   修改主頁面順序

     <IfModule dir_module>

       DirectoryIndex index.php index.html    

     </IfModule>

 啓動php服務:

          service php-fpm start  

如果啓動不起來,報錯如下:

03d9cf7e7a8335230cdef8bf051f2590.jpg

那麼vim /etc/init.d/php-fpm

    修改如下三行,都修改爲絕對路徑

    php_fpm_BIN=/app/php/sbin/php-fpm

    php_fpm_CONF=/app/php/etc/php-fpm.conf

    php_fpm_PID=/app/php/var/run/php-fpm.pid

再啓動即可service php-fpm start

可以使用ss -ntl 查看9000端口打開了

550e7c0238f2f6276efa04efcd5a2ba2.jpg 

5、測試php和mariadb連接

vim /app/httpd24/htdocs/index.php

    <html><body><h1> LAMP</h1></body></html>

    <?php

    $mysqli=new mysqli("mysqlserver","root","123456");

    if(mysqli_connect_errno()){

    echo "連接數據庫失敗!";

    $mysqli=null;

    exit;

    }

    echo "連接數據庫成功!";

    $mysqli->close();

    phpinfo();

    ?>

網頁訪問:http://192.168.199.137/,效果如下則測試成功。至此lamp架構就實現了

552d6d73eb6e1d954bc6aa52e6c3b3f3.jpg 

6、配置wordpress

 ①下載wordpress並解壓

    tar xvf wordpress-4.8.1-zh_CN.tar.gz

 ②將wordpress下所有文件放到主站點下,並且配置使其連接數據庫

    mv wordpress/* /app/httpd24/htdocs 

   cd /app/httpd24/htdocs/

   cp wp-config-sample.php  wp-config.php  準備配置文件

    vim wp-config.php              編輯配置文件

    define('DB_NAME', 'blogdb');        數據庫名

    define('DB_USER', 'wpuser');        用戶名

    define('DB_PASSWORD', '123456');      密碼

    define('DB_HOST', 'localhost');      數據庫所在服務器地址

 

7、性能測試: ab -c 20 -n 1000 http://192.168.199.137

  windows測試:http://192.168.199.137 出現如下歡迎界面

da83ec61b80560e673babbac6e5f8946.jpg 

8、xcache加速

 ①下載工具並解壓

  tar xvf xcache-3.2.0.tar.gz

 ②編譯安裝xcache

  cd xcache-3.2.0

  phpize  生成編譯環境             

  ./configure --enable-xcache --with-php-config=/app/php/bin/php-config   

  make && make install  編譯安裝

 ③配置xcache

  mkdir /etc/php.d

  cp xcache-3.2.0/xcache.ini /etc/php.d/  將xcache複製到php.d下就可以使php和xcache結合在一起

     修改庫的路徑(可以使用ls看一下路徑):

     vim /etc/php.d/xcache.ini   

      extension = /app/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so

  ④重啓php-fpm服務

   service php-fpm restart  

 

性能測試:ab -c 20 -n 1000 http://192.168.199.137 比較之前會發現處理速度明顯提升


感謝瀏覽,如有疑問,歡迎留言

j_0080.gif

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章