程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> CentOS 6編譯安裝lamp,並分別安裝event模塊方式和FPM方式的PHP,centosfpm

CentOS 6編譯安裝lamp,並分別安裝event模塊方式和FPM方式的PHP,centosfpm

編輯:MySQL綜合教程

CentOS 6編譯安裝lamp,並分別安裝event模塊方式和FPM方式的PHP,centosfpm


 

任務目標:

編譯安裝LAMP

    要求(1) 安裝一個模塊化的PHP

    要求(2) 安裝一個FPM的PHP

 

注意PHP需要最後一個安裝,因為需要前兩者的支持.

所以這裡的安裝次序為

1.httpd

2.MariaDB

3.PHP

 

 

一、安裝包組

# yum groupinstall "Development Tools" "Server Platform Development" –y

 

二、解決依賴關系

1.安裝pcre

# yum install pcre-devel –y

 

2.安裝apr

# tar xf apr-1.5.2.tar.bz2

# cd apr-1.5.2

# ./configure --prefix=/usr/local/apr

# make && make install

 

3.安裝apr-util

# tar xf apr-util-1.5.4.tar.bz2

# cd apr-util-1.5.4

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

# make && make install

 

三、編譯安裝httpd 2.4

1.編譯安裝

# tar xf httpd-2.4.23.tar.bz2

# cd httpd-2.4.23

# ./configure --prefix=/usr/local/apache --sysconf=/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

 

各個參數解釋:

--prefix=/usr/local/apache 設定安裝目錄為/usr/local/apache

--sysconf=/etc/httpd24 服務配置文件存放目錄

--enable-so 支持DSO機制,開啟模塊化

--enable-ssl 支持ssl功能

--enable-cgi 支持CGI功能

--enable-rewrite 支持url重寫

--with-zlib 支持傳輸壓縮

--with-pcre 支持pcre正則表達式

--with-apr=/usr/local/apr 指明apr安裝位置

--with-apr-util=/usr/local/apr-util/ 指明apr-util安裝位置

--enable-modules=most 啟用模塊級別:most大多數

--enable-mpms-shared=all 編譯所有支持的模式

--with-mpm=event 指明mpm模塊為event模式

 

2.給新httpd提供一個腳本

# cd /etc/rc.d/init.d/

# cp httpd httpd24

# vim httpd24

大概42行

apachectl=/usr/local/apache/bin/apachectl

httpd=${HTTPD-/usr/local/apache/bin/httpd}

pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}

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

保存退出

 

3.加入到服務列表

# chkconfig --add httpd24

 

4.移除hash緩存

# hash –r

 

5.將新的httpd添加到環境變量

# vim /etc/profile.d/httpd.sh

內容:

export PATH=/usr/local/apache/bin:$PATH

 

6.重讀一下剛剛修改的環境變量

# . /etc/profile.d/httpd.sh

 

7.檢查一下

# hash

 

8.檢測配置文件語法

# httpd –t

 

9.先關掉2.2版本的httpd

# service httpd stop

 

10.啟動2.4版本的httpd

# service httpd24 start

 

11.檢查80端口

# ss -tnl

# ps aux | grep httpd

 

12.查看是否加載了event模塊(mpm_event_module (shared))

# httpd –M

 

四、安裝MariaDB

1.把安裝包解壓到/usr/local/下

# tar xf mariadb-5.5.53-linux-x86_64.tar.gz -C /usr/local

 

2.創建數據存放目錄

# mkdir -pv /mydata/data

 

3.創建一個mysql用戶

# useradd -r mysql

 

4.附加權限到數據存放目錄

# chown -R mysql.mysql /mydata/data/

 

5.創建軟連接到mysql

# cd /usr/local

# ln -sv mariadb-5.5.53-linux-x86_64/ mysql

 

6.更新所有文件的屬主屬組

# cd mysql/

# chown -R root.mysql ./*

 

7.初始化數據庫

# scripts/mysql_install_db --datadir=/mydata/data/ --user=mysql

 

8.提供配置文件

# mkdir /etc/mysql

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

 

9.修改配置文件

# vim /etc/mysql/my.cnf

大概42行附近空白行添加

datadir = /mydata/data

innodb_file_per_table =on

skip_name_resolve = on

 

10.保存退出

 

11.創建服務

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

# chkconfig --add mysqld

 

12.啟動mysql

# service mysqld start

 

13.檢查3306

# ss –tnl

 

14.連接mysql測試

# /usr/local/mysql/bin/mysql

 

15.運行安全初始化腳本,包含root用戶的密碼創建

# /usr/local/mysql/bin/mysql_secure_installation

 

五、以模塊方式編譯安裝php

1.解壓縮安裝包

# tar xf php-5.5.38.tar.bz2

 

2.安裝依賴軟件包bzip2-devel和epel源的libmcrypt-devel和libxml2-devel包

# yum install bzip2-devel libmcrypt-devel libxml2-devel –y

 

3.安裝

# cd php-5.5.38

./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

 

各參數解釋:

--prefix=/usr/local/php 默認安裝路徑

--with-mysql=/usr/local/mysql 指明mysql安裝路徑,如果有特定路徑就使用等號"="後面跟上路徑,沒有則省略等號"="

--with-openssl 使用OpenSSL

--with-mysqli=/usr/local/mysql/bin/mysql_config 定義mysqli接口

--enable-mbstring 支持多字節字符串支持

--with-freetype-dir 支持各種字體

--with-jpeg-dir 支持處理jpeg格式圖片

--with-png-dir 支持處理png格式圖片

--with-zlib 支持壓縮庫

--with-libxml-dir=/usr 支持處理xml文檔

--enable-xml 支持xml

--enable-sockets 使php支持以sockets方式通信

--with-apxs2=/usr/local/apache/bin/apxs (關鍵)表示把php編譯成Apache的模塊

--with-mcrypt 支持加密解密庫

--with-config-file-path=/etc 定義php配置文件(php.ini)放置路徑

--with-config-file-scan-dir=/etc/php.d 其他配置文件查找路徑

--with-bz2 支持bz2格式加密

--enable-maintainer-zts 僅針對mpm為event和worker的情況,編譯成zts模塊,如果是prefork則不需要

# make && make install

 

4.把php的配置文件復制到/etc下

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

 

5.編輯httpd配置文件

# cd /etc/httpd24/

先備份

# cp httpd.conf{,.bak}

# vim httpd.conf

確保有這樣一行(證明php5模塊已加載):

LoadModule php5_module modules/libphp5.so

 

添加兩行,用於支持php格式文檔

AddType application/x-httpd-php .php

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

 

設置默認文檔頁

修改 DirectoryIndex index.html

為 DirectoryIndex index.php index.html

 

6.已經設置完畢,下面測試一下:

6.1 重啟httpd24

# service httpd24 restart

 

6.2 檢查一下80端口

# ss -tnlp

 

6.3 看看是否已經有了php5_module

# httpd -M

 

6.4 修改一下默認頁面為php格式,進行測試

# cd /usr/local/apache/htdocs/

# mv index.html index.php

# vim index.php

 

<?php

    $conn=mysql_connect('127.0.0.1','root','');

    if ($conn)

        echo "Connect OK!";

    else

        echo "Failure.";

    mysql_close();

?>

上面的數據庫連接用戶名和密碼按照自己設置填寫.

 

6.5 浏覽器訪問測試一下

OK已成功.

 

六、以fpm方式再安裝PHP

1. 先清理掉之前解壓的php目錄

# rm -rf php-5.5.38

 

2. 重新解壓

# tar xf php-5.5.38.tar.bz2

 

3. 編譯安裝

# cd php-5.5.38

# ./configure --prefix=/usr/local/php-f --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-f --with-config-file-scan-dir=/etc/php-f.d --with-bz2

 

這次與上一次配置的php最大不同就在於這個參數

--enable-fpm 表示是以fpm方式編譯

所以就不能下面這個參數

--with-apxs2=/usr/local/apache/bin/apxs (表示把php編譯成Apache的模塊)

 

另外要把相關路徑改一下名字,不要與剛剛安裝的php目錄重名,這裡我們改為php-f

--prefix=/usr/local/php-f

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

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

 

# make -j 2 && make install

 

4.修改httpd配置

4.1 先停掉httpd

# service httpd24 stop

 

4.2我們需要一個默認的httpd.conf,先備份舊的,然後恢復到默認狀態

# cd /etc/httpd24

# mv httpd.conf httpd.conf.mod_php

# cp httpd.conf.bak httpd.conf

 

4.3 為php提供配置文件

# mkdir /etc/php-f{,.d}

# cd

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

 

4.4 添加服務腳本

# cp php-5.5.38/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

 

4.5 添加執行權限

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

# chkconfig --add php-fpm

 

4.6 修改配置文件

# cd /usr/local/php-f/etc

來一份默認配置文件

# cp php-fpm.conf.default php-fpm.conf

 

# vim php-fpm.conf

監聽端口改為所有

listen = 0.0.0.0:9000

最大進程數

pm.max_children = 50

剛啟動時進程數

pm.start_servers = 5

最少空閒進程數

pm.min_spare_servers = 2

最大空閒進程數

pm.max_spare_servers = 5

pid路徑

pid = /usr/local/php-f/var/run/php-fpm.pid

 

5.啟動php-fpm

# service php-fpm start

 

6.檢查一下進程

# ps aux | grep fpm

看到已經有5個空閒進程

 

七.再次配置httpd2.4

1.編輯httpd24的配置文件

# cd /etc/httpd24

# vim httpd.conf

啟用這兩個模塊

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

 

添加文件類型

AddType application/x-httpd-php .php

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

 

找到 DirectoryIndex index.html

改為

DirectoryIndex index.php index.html

 

取消這一行的注釋,啟用虛擬主機配置文件

#Include /etc/httpd24/extra/httpd-vhosts.conf

 

2.配置虛擬主機

2.1 創建兩個網站文件夾

# mkdir -p /web/vhosts/{pma,wp}

 

2.2 編輯配置文件,添加虛擬主機

# vim /etc/httpd24/extra/httpd-vhosts.conf

內容修改如下

<VirtualHost *:80>

    ServerAdmin [email protected]

    DocumentRoot /web/vhosts/pma

    ServerName www1.buybybuy.com

    ErrorLog logs/pma.err

    CustomLog logs/pma.access combined

    DirectoryIndex index.html index.php

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/vhosts/pma/$1

    <Directory "/web/vhosts/pma">

        Options Indexes FollowSymLinks

        AllowOverride All

        Require all granted

    </Directory>

</VirtualHost>

<VirtualHost *:80>

    ServerAdmin [email protected]

    DocumentRoot /web/vhosts/wp

    ServerName www2.buybybuy.com

    ErrorLog logs/wp.err

    CustomLog logs/wp.access combined

    DirectoryIndex index.html index.php

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/vhosts/wp/$1

    <Directory "/web/vhosts/wp">

        Options Indexes FollowSymLinks

        AllowOverride All

        Require all granted

    </Directory>

</VirtualHost>

相關解釋

ProxyRequests Off:關閉正向代理

ProxyPassMatch:把以.php結尾的文件請求發送到php-fpm進程,php-fpm至少需要知道運行的目錄和URI,所以這裡直接在fcgi://127.0.0.1:9000後指明了這兩個參數,其它的參數的傳遞已經被mod_proxy_fcgi.so進行了封裝,不需要手動指定。

 

八、安裝phpMyadmin

1.把解壓phpMyadmin後文件夾中的所有文檔以及文件夾復制到/web/vhosts/pma/下

# cd

# cp -rf /phpMyAdmin-4.4.15.8-all-languages/* /web/vhosts/pma/

 

2.編輯phpMyadmin的配置文件

# cd /web/vhosts/pma

 

3.備份原始配置文件並編輯新的配置文件

# cp config.sample.inc.php config.inc.php

# vim config.inc.php

填入32位隨機字碼

$cfg['blowfish_secret'] = 'e2d8e1132dc737b3dc1f05cd44c0cc9e'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

 

4.測試

4.1重啟httpd和php-fpm

# service httpd24 restart

# service php-fpm restart

 

4.2浏覽器測試結果

 

5.這裡可以用mysql的默認用戶root直接登錄測試.root賬號的設置已經在前面第四節的第15部分設置.

6.另一個虛擬主機wp安裝方式同理

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved