CentOS6.7安裝部署php5(詳解安裝選項與主配置文件)

来源:https://www.cnblogs.com/linux-s/archive/2019/08/02/11288831.html
-Advertisement-
Play Games

模塊安裝 PHP 編譯環境:gcc gcc-c++ pcre-devel openssl-devel libxml2 libxml2-devel bzip bzip-devel 1、解壓縮安裝包 tar xf php-5.0.5.tar.bz2 2、安裝的選項 ./configure --prefi ...


模塊安裝---PHP

編譯環境:gcc  gcc-c++   pcre-devel  openssl-devel   libxml2   libxml2-devel   bzip   bzip-devel

1、解壓縮安裝包

     tar xf php-5.0.5.tar.bz2

2、安裝的選項

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

 

--with-mysql=/usr/local/mysql :告訴mysql在什麼地方

--with-openssl :能夠支持openssl功能

--with-mysqli=/usr/local/mysql/bin/mysql_config :這是一種讓php與mysql交互的介面

--enable-mbstring :讓php支持各種語言

--with-freetype-dir :自由的可移植的字體庫,能夠引用特定字體

--with-jpeg-dir :支持圖片的

--with-png-dir :支持圖片的

--with-zlib :互聯網上通用格式的壓縮庫(我們的數據文件先壓縮後發送)

--with-libxml-dir=/usr :擴展標記語言庫

--enable-xml :支持擴展標記語言

--enable-sockets :讓你的php支持基於套接字的通信

--with-apxs2=/usr/local/apache/bin/apxs :將它編譯成Apache的模塊,把這一項改為--enable-fpm :啟用fastCGI模式。

--with-mcrypt :支持加密功能 ,額外的加密庫

--with-config-file-path=/etc :php配置文件的目錄

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

--with-bz2  :壓縮庫

--enable-maintainer-zts :加不加這一項,得看Apache,若為perfork模型不用加,若為event模型或work就要加這一項。

  安裝中出現的錯誤可以去百度搜!

  安裝完成之後進行 make && make install

 

3、php的配置文件

在安裝目錄中有兩個主配置文件

php.ini-development:一個用於開發環境

php.ini-production:一個用於生產環境

放在/etc目錄下,名稱為php.ini即可!

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

配置好配置文件之後不要啟動,因為把他編譯成Apache模塊!

4、編譯安裝完成之後,文件在/usr/local/php/,這裡面提供的都是一些基本文件。

bin  :php的命令行工具

etc  :為php的其他的子項目所提供的配置文件的存放路徑

include  :頭文件

lib  :庫文件

php  :php幫助手冊

var  :

php本身已經安裝好了


 

  在第二行已經說明,php的serverAPI模塊,他為我們的Apache2添加了一個處理器,讓Apache2可以以模塊化的方式調用php

  安裝路徑在第7行叫‘libphp5.so

5、php與apache結合

到此php本身的配置已經可以了,下麵配置是phpApache結合起來使用

  這得需要修改Apache的配置文件來實現

  首先得讓Apache能夠處理php結尾的配置文件

編輯Apache的主配置文件,在AddType這裡添加一行

    AddType appkication/x-httpd-php .php   --->支持php結尾的文件

    AddType appkication/x-httpd-php-source .phps   --->支持phps的文件

6、同時,我們的Apache也應該有php結尾的頁面

   修改為<IfModule dir_module>

          DirectoryIndex  index.html  index.php   --->支持HTML的頁面同時支持php的頁面

        </IfModule>

     修改完成之後重新啟動!

7、切換到我們的網頁預設目錄

     cd /usr/local/apache/htdocs/

  更改網頁文件名稱: mv index.html index.php

  更改內容:

 

 

 

fastcgi---PHP(獨立安裝)

 

(1)編譯安裝php

tar xf php-5.6.10.tar.bz2

cd php-5.6.10

./configure --prefix=/usr/local/php --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-libxml-dir=/usr --with-openssl --with-zlib --with-bz2 --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-mcrypt --enable-sockets --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --enable-maintainer-zts

提示:

yum -y install bison-devel  gcc gcc-c++ bison-devel  libxml2-devel  openssl-devel  bzip2 bzip2-devel

一、安裝gcc 由於是獨立的主機 需要配置環境 yum -y install gcc

二、 –with-mysql幾個選項都要為mysqlnd;因為mysql伺服器單獨為另一臺主機

三、為了支持apache的workerevent這兩個MPM,編譯時使用了–enable-maintainer-zts選項。

四、error: xml2-config not found. Please check your libxml2 installation.安裝libxml2-devel yum -y install libxml2-devel

五、 error: Cannot find OpenSSL's <evp.h> 安裝openssl openssl-devel

六、Please reinstall the BZip2 distribution。 安裝bzip2 bzip2-devel .yum install bzip2 bzip2-devel

七、 error: mcrypt.h not found. Please reinstall libmcrypt.安裝 libmcrypt libmcrypt-devel 這個需要註意,因為一般的yum源中是沒有

這2個package的,所以需要先對其下載安裝。

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz獲取文件

安裝libmcrypt

tar -zxvf libmcrypt-2.5.7.tar.gz

cd libmcrypt-2.5.7

./configure –prefix=/usr/local/libmcrypt

make && make install

安裝完畢。

此時需要將php安裝的命令中修改 --with-mcrypt=/usr/lib/libmcrypt即可。

make && make install 即可。

(2)配置php

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

配置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

chkconfig –list php-fpm

為php-fpm提供配置文件:

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

編輯php-fpm的配置文件:

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

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

listen = 192.168.2.139:9000    指定埠

pm = dynamic   動態創建進程

pm.max_children = 50        最多多少個進程同時線上

pm.start_servers = 5       剛開始啟動伺服器時啟動幾個進程

pm.min_spare_servers = 2    最小幾個空閑進程

pm.max_spare_servers = 8     最多有幾個空閑

;pm.max_requests = 500   最多一次性接受多少請求

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

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

service php-fpm start

可以使用netstat -tunlp 查看 9000

(3)連接Apache

修改配置php-fpm的文件vim /usr/local/php/etc/php-fpm 定位到listen =192.168.197.204:9000(本地主機ip地址)

在該主機上新建虛擬主機目錄用於存放網頁文件

mkdir -pv /var/www/{frank,frankstar,kelly,kellystar}

(4)配置apache虛擬主機使用php

vim /etc/httpd/httpd.conf

註釋 #DocumentRoot "/usr/local/apache/htdocs"

並打開啟用 Include /etc/httpd/extra/httpd-vhosts.conf

同時定位 AddType;添加下麵兩行

AddType application/x-httpd-php .php

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

並且定位至DirectoryIndex

<IfModule dir_module>

DirectoryIndex index.php index.html #添加index.php(最好添加在最前面)

</IfModule>

還要啟用proxy_module proxy-fcgi_module等

LoadModule proxy_module modules/mod_proxy.so #開啟

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #開啟

(5)編輯虛擬主機   路徑/etc/httpd/extra/httpd-vhosts.conf

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "/usr/local/apache/www/frank"

ServerName www.frank.com

ErrorLog "/usr/local/apache/logs/frank.error_log"

CustomLog "/usr/local/apache/logs/frank.access_log" combined

ProxyRequests off #關閉正向代理

ProxyPassMatch ^/(.*.php)$ fcgi://192.168.197.204:9000/var/www/frank/$1

<Directory "/usr/local/apache/www/frank"> 授權

Options none

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

 然後在php伺服器上的/var/www/目錄下分別建立網頁文件,重啟服務即可。

(6)為了提高php的性能安裝Xcache

在php伺服器中安裝,Xcache官網下載: http://xcache.lighttpd.net/wiki/Release-3.2.0 這裡使用xcache-3.2.0支持php-5.6-10的穩定版

tar xf xcache-3.2.0.tar.bz2

cd xcache-3.2.0

/usr/local/php/bin/phpize

提示:

如果出現 Cannot find autoconf. Please check your autoconf installation and the

$PHP_AUTOCONF environment variable. Then, rerun this script.

需要安裝yum -y install m4 autoconf即可

然後./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

make && make install

安裝完畢後會出現這麼一行 Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

編輯php.ini,整合phpxcache

首先將xcache提供的樣例配置導入php.ini

# mkdir /etc/php.d

# cp xcache.ini /etc/php.d

說明:xcache.ini文件在xcache的源碼目錄中。

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

extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so

註意:如果php.ini文件中有多條extension指令行,要確保此新增的行排在第一位。

然後重啟服務即在phpinfo的頁面中就可看見xcache的選項了。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 需求概述 指定一批郵箱地址,使用指定的郵箱發送指定的內容。 2 功能需求 配置文件配置用於發送的郵箱信息 郵件發送功能 日誌視窗輸出顯示 3 界面介面 郵件列表框 標題內容輸入框 發送按鈕 日誌輸出框 4 技術選型 .Net 4.0 C Winform 5 實現 5.1 新建項目 項目命名為 S ...
  • 註:Invoke的第一個參數為類實例,第二個參數為反射的方法的參數列表,如無參數直接傳入null即可。 通過反射,可以通過參數動態的調用指定的方法,降低結構間的耦合性 ...
  • 1、上傳所需要的文件(這裡事先準備好了jdk和tomcat的安裝包,mysql需要線上安裝) jdk的安裝包名稱:jdk-8u151-linux-x64.tar.gz tomcat 的安裝包名稱:apache-tomcat-8.5.15.tar.gz 2、jdk安裝: 檢查是否有安裝jdk和cent ...
  • 本人對於linux系統是個小白,恰逢公司新框架需要docker+jenkins部署項目,所以通過同事口述+一頓亂查,終於實現在虛擬機上搭建的ubuntu系統中 實現jenkins +docker 自動部署拉取項目。 趕緊做個記錄! 準備條件: 1、虛擬機內安裝ubuntu隨後再做記錄,雖說同事已經演 ...
  • 在上一篇真千兆路由的極限之OPENWRT MAKE, 某品牌白菜價QCA9558/QCA9880/QCA8337N純種組合OS搭建時記中附帶了128M nand的空間圖示,在ar71xx profile里,預設以jffs2的分區存在, jffs2有一些弊端,磚家們認為更適合空間小的spi-nor f ...
  • grep命令用於查找文件里符合條件的字元串;也可以用於查找內容包含指定的範本樣式的文件。它能使用正則表達式搜索,用於在文件中搜索指定的字元串模式,列出含有匹配模式子符串的文件名,並輸出含有該字元串的文本行。 grep的工作方式是這樣的:它在一個或多個文件中搜索字元串模板。如果模板包括空格,則必須被引... ...
  • 1.從maven中央庫下載下jar包 2.例如: mvn install:install-file -Dfile="D:\downgoogle\shc-core-1.1.1-2.1-s_2.11.jar" -DgroupId=com.hortonworks -DartifactId=shc-core ...
  • Linux性能分析——分析系統性能相關的命令 摘要:本文主要學習了Linux系統中分析性能相關的命令。 ps命令 ps命令用來顯示系統中進程的運行情況,顯示的是當前系統的快照。 基本語法 選項說明 使用舉例 使用ps命令: 顯示執行的命令: 顯示所有進程以及執行的命令,可以查看進程的父進程ID: 顯 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...