成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

編譯安裝LAMP(php-fpm)步驟詳解-創(chuàng)新互聯(lián)

內(nèi)容:

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計,大新網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:大新等地區(qū)。大新做網(wǎng)站價格咨詢:18982081108

第一部分:編譯安裝LAMP(php以模塊的方式工作)

第二部分:編譯安裝LAMP(php以fpm的方式工作)

第一部分:

        前面介紹我們知道,

    apache + php結(jié)合的方式大概幾種:

    第一種:把php編譯時直接編譯成apache的模塊、module模塊化的方式進行工作

    第二種:CGI、通用網(wǎng)關(guān)接口、apache基于CGI跟hph通信

    第三種:fastcgi方式,他也是一種協(xié)議,在這種模塊下他們兩個是這樣結(jié)合的:

        本來php是做為一個模塊或都是php解析器運行的,不是監(jiān)聽在某個套接字上接收別人的請求的,而是讓別人調(diào)用為一個進程使用的,可能是做為別人的子進程在運行,但是工作在fastcgi這種模塊下的hph自行啟用為一個服務(wù)進程,

        他監(jiān)聽在某個套接字上,隨時可以接受來自客戶端的請求的,他也是有一個主進程的,為了可以響應(yīng)多個用戶的請求,他會啟用多個子進程,這些子進程我們也可以稱為工作進程,

        他也是有空閑進程的,一但有客戶請求他馬上使用空閑的進程響應(yīng)客戶端的請求,將結(jié)果返回給前端的調(diào)用者,在php5.3.3版本之前他是沒有這個能力了,只能工作在模塊和CGI的方式下,而在5.3.3之后這個模塊直接被收進php模塊中,這種模塊就叫php-fpm。

        所以在以后編譯php時,要想跟apache結(jié)合,就要編譯成php-fpm,這是基于fastcgi工作的模式,并啟動這服務(wù)進程,也就意味著他是通過套接字跟前端的調(diào)用者通信,既然基于套按字通信了,那么前端的web服務(wù)器和后面的php服務(wù)器完全可以工作在不同的主機上,實現(xiàn)了所謂的分層機制。

        apache不會跟數(shù)據(jù)庫打交道,他是個靜態(tài)web服務(wù)器,跟數(shù)據(jù)庫打交道的是應(yīng)用程序,作為應(yīng)用程序的源驅(qū)動能夠基于某個API跟服務(wù)器之間建立會話,而后他會通過我們的mysql語句發(fā)送給數(shù)據(jù)庫,數(shù)據(jù)庫再將結(jié)果返回給應(yīng)用程序,不是php進程,而是php進程中所執(zhí)行的代碼。

    編譯安裝LAMP

    1、準備干凈的操作系統(tǒng),并且編譯環(huán)境準備

    2、相關(guān)的編譯源碼包準備

    3、選擇編譯安裝的版本(centos6.8+httpd2.4.10+mariadb5.5.46+php5.6.4)

    4、編譯安裝以及測試LAMP

    1、編譯安裝的環(huán)境準備:

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

    2、準備相關(guān)的源碼包

    下載地址:

    apache編譯相關(guān)

    apr="http://mirrors.aliyun.com/apache/apr/apr-1.5.2.tar.bz2"

    aprutil="http://mirrors.aliyun.com/apache/apr/apr-util-1.5.4.tar.bz2"

    HTTPD="http://mirrors.aliyun.com/apache/httpd/httpd-2.4.23.tar.gz"

    PHP編譯相關(guān):

    PHP="http://mirrors.sohu.com/php/php-5.4.28.tar.gz"

    libmytRPM="http://mirrors.aliyun.com/epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm"

    libdelRPM="http://mirrors.aliyun.com/epel/6/x86_64/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm"

    mariadb編譯相關(guān):

    MYSQL="http://cdn.mysql.com//archives/mysql-5.5/mysql-5.5.41-linux2.6-x86_64.tar.gz"

    這里操作的編譯安裝順序:apache--mariadb--PHP

一、編譯安裝apache

    1、解決依賴關(guān)系

        httpd-2.4.10需要較新版本的apr和apr-util,因此需要事先對其進行升級。apr可以理解是中間的轉(zhuǎn)換器,是的apache能運行在windows、linux、MAC等多平臺上,升級方式有兩種,一種是通過源代碼編譯安裝,一種是直接升級rpm包。

    (1) 編譯安裝apr

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

    (2) 編譯安裝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

    (3) httpd-2.4.10編譯過程也要依賴于pcre-devel軟件包,需要事先安裝。此軟件包系統(tǒng)光盤自帶,因此,找到并安裝即可。

# yum install pcre-devel -y

    2、編譯安裝httpd-2.4.10

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

    3、啟動httpd:

[root@localhost php-5.6.4]# echo "export PATH=/usr/local/apache2/bin:$PATH" > /etc/profile.d/httpd.sh  [root@localhost php-5.6.4]# source /etc/profile.d/httpd.sh

二、安裝mariadb-5.5.46

    1、mysql的安裝有三種方式:

        rpm包安裝

        二進制的通用包安裝

        源碼的編譯安裝

        這里演示的是二進制的通用包安裝,注意:二進制的通用包和源碼包命名是有區(qū)別的,千萬不要混淆,二進制包一般帶有l(wèi)inux字樣,如mariadb-5.5.46-linux-x86_64.tar.gz是二進制包,而mariadb-5.5.46.tar.gz則是源碼包!

        這里演示把數(shù)據(jù)庫文件存放在一個目錄中

        這里假設(shè)掛載目錄為/mydata,而后需要創(chuàng)建/mydata/data目錄做為mysql數(shù)據(jù)的存放目錄。

    2、新建用戶以安全方式運行進程:

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

    3、安裝并初始化mysql-5.5.46

# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local# cd /usr/local/# ln -sv mariadb-5.5.46-linux-x86_64  mysql# cd mysql# chown -R mysql:mysql  .# scripts/mysql_install_db --user=mysql --datadir=/mydata/data

    4、為mysql提供主配置文件:

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

    修改配置:

thread_concurrency = 2 #并修改此文件中thread_concurrency的值為你的CPU個數(shù)乘以2datadir = /mydata/data #需要添加如下行指定mysql數(shù)據(jù)文件的存放位置

    5、為mysql提供sysv服務(wù)腳本

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

    添加至服務(wù)列表:

# chkconfig --add mysqld # chkconfig mysqld on

    而后就可以啟動服務(wù)測試使用了。

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

    6、輸出mysql的man手冊至man命令的查找路徑:

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

MANPATH  /usr/local/mysql/man

    7、輸出mysql的頭文件至系統(tǒng)頭文件路徑/usr/include:

這可以通過簡單的創(chuàng)建鏈接實現(xiàn):

# ln -sv /usr/local/mysql/include  /usr/include/mysql

    8、輸出mysql的庫文件給系統(tǒng)庫查找路徑:

# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

    而后讓系統(tǒng)重新載入系統(tǒng)庫:

# ldconfig

    9、修改PATH環(huán)境變量,讓系統(tǒng)可以直接使用mysql的相關(guān)命令。

#vim /etc/profile.d/mysql.sh  export PATH=/usr/local/mysql/bin:$PATH source /etc/profile.d/mysql.sh

三、編譯安裝php-5.6.4

    1、解決依賴關(guān)系:

    如果想讓編譯的php支持mcrypt擴展,需要安裝兩個rpm包:

# rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm # rpm -ivh libmcrypt-devel-2.5.8-9.el6.x86_64.rpm

    2、編譯安裝php-5.6.4

# yum install -y libxml2-devel# tar xf php-5.6.4.tar.xz# cd php-5.6.4#./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/apache2/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d   --enable-maintainer-zts# make# make intall

    注意:如果httpd使用線程模型MPM,需要額外的--enable-maintainer-zts選項;

    注意:如果要以fpm方式運行php,需要編譯時移除--with-apxs選項,額外添加--enable-fpm選項;

    為php提供配置文件(位于解壓的源碼包目錄):

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

    3、 編輯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

    而后重新啟動httpd,或讓其重新載入配置文件即可測試php是否已經(jīng)可以正常使用。

    4、這里安裝phpMyAdmin進行測試驗證:

        1、解壓phpMyAdmin-4.4.14.1-all-languages.zip

        2、講phpMyAdmin-4.4.14.1-all-languages移至web站點的根目錄,并命名為pma目錄:/usr/local/apache2/htdocs/pma

        3、進入pma目錄,啟用默認到配置文件

        cp libraries/config.default.php config.inc.php

        4、編輯該配置文件,設(shè)置相應(yīng)的數(shù)據(jù)庫帳號和密碼

        5、測試打開該目錄的web站點,只要能登錄上數(shù)據(jù)庫,說明,A+M+P已經(jīng)結(jié)合工作成功。

編譯安裝LAMP(php-fpm)步驟詳解

        測試正常,至此,LAMP已經(jīng)編譯成功,并能工作。

第二部分、編譯安裝LAMP(php以fpm的方式工作)

一、編譯安裝LAMP

    1、編譯安裝:

        和前面的步驟一樣,只不過在編譯安裝PHP時,移除--with-apxs選項,額外添加--enable-fpm選項;

#./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-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d   --enable-maintainer-zts --enable-fpm

        2、為php提供配置文件:

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

        3、配置php-fpm

為php-fpm提供Sysv init腳本,并將其添加至服務(wù)列表:

# 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

        4、為php-fpm提供配置文件:

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

        5、編輯php-fpm的配置文件

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

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

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

        6、接下來就可以啟動php-fpm了:

# service php-fpm start

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

[root@localhost fpm]# ss -tanl State       Recv-Q Send-Q                            Local Address:Port                              Peer Address:Port  LISTEN      0      50                                            *:3306                                         *:*      LISTEN      0      32                                            *:21                                           *:*      LISTEN      0      128                                          :::22                                          :::*      LISTEN      0      128                                           *:22                                           *:*      LISTEN      0      100                                         ::1:25                                          :::*      LISTEN      0      100                                   127.0.0.1:25                                           *:*      [root@localhost fpm]# service php-fpm start Starting php-fpm  done [root@localhost fpm]# ss -tanl State       Recv-Q Send-Q                            Local Address:Port                              Peer Address:Port  LISTEN      0      128                                   127.0.0.1:9000                                         *:*      LISTEN      0      50                                            *:3306                                         *:*      LISTEN      0      32                                            *:21                                           *:*      LISTEN      0      128                                          :::22                                          :::*      LISTEN      0      128                                           *:22                                           *:*      LISTEN      0      100                                         ::1:25                                          :::*      LISTEN      0      100                                   127.0.0.1:25                                           *:*      [root@localhost fpm]#

        默認情況下,fpm監(jiān)聽在127.0.0.1的9000端口,也可以使用如下命令驗正其是否已經(jīng)監(jiān)聽在相應(yīng)的套接字。

二、配置httpd

        1、啟用httpd的相關(guān)模塊

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

LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

    同時把libphp5.so的模塊注釋

#LoadModule php5_module        modules/libphp5.so

        2、配置中心主機支持使用fcgi(也可以配置虛擬主機,配置差不多,這里就不演示了)

    在相應(yīng)的虛擬主機中添加類似如下兩行。

ProxyRequests Off  #關(guān)閉正向代理 ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache2/htdocs/$1  #把以.php結(jié)尾的文件請求發(fā)送到php-fpm進程,php-fpm至少需要知道運行的目錄和URI,所以這里直接在fcgi://127.0.0.1:9000后指明了這兩個參數(shù),其它的參數(shù)的傳遞已經(jīng)被mod_proxy_fcgi.so進行了封裝,不需要手動指定。

        3、編輯apache配置文件httpd.conf,讓apache能識別php格式的頁面,并支持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

        測試成功,已經(jīng)能訪問php頁面

編譯安裝LAMP(php-fpm)步驟詳解

三、測試phpMyAdmin:

        這里再次安裝phpMyAdmin進行測試驗證:

    1、解壓phpMyAdmin-4.4.14.1-all-languages.zip

    2、將phpMyAdmin-4.4.14.1-all-languages移至web站點的根目錄,并命名為pma目錄:/usr/local/apache2/htdocs/pma

    3、進入pma目錄,啟用默認到配置文件

cp libraries/config.default.php config.inc.php

    4、編輯該配置文件,設(shè)置相應(yīng)的數(shù)據(jù)庫帳號和密碼

$cfg['Servers'][$i]['user'] = 'nihao'; $cfg['Servers'][$i]['password'] = '123456';

    5、測試打開該目錄的web站點,只要能登錄上數(shù)據(jù)庫,說明,A+M+P已經(jīng)結(jié)合工作成功。

        測試正常,至此,LAMP已經(jīng)編譯成功,并能工作。

編譯安裝LAMP(php-fpm)步驟詳解

        OK,更多文章請關(guān)注我的博客。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁標題:編譯安裝LAMP(php-fpm)步驟詳解-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://jinyejixie.com/article10/jgpdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站制作、靜態(tài)網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
大悟县| 云浮市| 沂源县| 新沂市| 利辛县| 林州市| 大安市| 五台县| 拉萨市| 鹿邑县| 永安市| 高尔夫| 泾阳县| 杭州市| 巍山| 武冈市| 溧阳市| 从化市| 股票| 镇平县| 喀喇沁旗| 富平县| 宁化县| 高州市| 旬阳县| 交口县| 邵武市| 河源市| 宾川县| 渭南市| 和硕县| 长武县| 体育| 永德县| 留坝县| 岑巩县| 麻栗坡县| 鹤庆县| 南雄市| 鄂伦春自治旗| 南澳县|