1. 程式人生 > >LNMP CentOS7.4 安裝 php7.3.4 nginx1.4 部署 並安裝wordpress

LNMP CentOS7.4 安裝 php7.3.4 nginx1.4 部署 並安裝wordpress

格式 fine 動態 figure soap ring sts socket slowlog

PHP(Hypertxt Preprocessor,超文本預處理器)是一種通用的開源腳本語言,發明於1995年,它吸取了C語言、Java語言及Perl語言的很多優點,具有開源、免費、快捷、跨平臺性強、效率高等優良特性,是目前Web開發領域最常用的語言之一。本書的配套站點就是基於PHP語言編寫的。

使用源碼包的方式編譯安裝PHP語言環境其實並不復雜,難點在於解決PHP的程序包和其他軟件的依賴關系。為此需要先安裝部署將近十個用於搭建網站頁面的軟件程序包,然後才能正式安裝PHP程序。

PHP官網:https://www.php.net/

創建用戶、用戶組

groupadd www

useradd -g www www # 指定www用戶是屬於組群www的成員

下載PHP

wget -c https://www.php.net/distributions/php-7.3.4.tar.gz

解壓:

tar -zxvf php-7.3.4.tar.gz

cd php-7.3.4/

編譯

--with-fpm-user=www --with-fpm-group=www

這裏使用www www 用戶、用戶組

編譯出來的程序啟動,就是歸屬這個用戶、用戶組

./configure --prefix=/usr/local/php --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-fpm

編譯錯誤,解決依賴

技術分享圖片

yum install openssl-devel openssl

configure: error: libxml2 not found. Please check your libxml2 installation.

yum install -y libxml2-devel

configure: error: Please reinstall the BZip2 distribution

yum install -y bzip2-devel

configure: error: cURL version 7.15.5 or later is required to compile php with cURL support

yum install -y curl-devel

configure: error: jpeglib.h not found.

yum install -y libjpeg-devel

configure: error: png.h not found.

yum install -y libpng-devel # libpng源碼包是用於提供png圖片格式支持函數庫的服務程序

configure: error: freetype-config not found.

yum install -y freetype-devel # freetype源碼包是用於提供字體支持引擎的服務程序

configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

yum install -y libxslt-devel

configure: error: Please reinstall the libzip distribution

yum install -y libzip-devel

checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11

#先刪除舊版本

yum remove -y libzip

#下載編譯安裝

wget https://nih.at/libzip/libzip-1.2.0.tar.gz

tar -zxvf libzip-1.2.0.tar.gz

cd libzip-1.2.0

./configure

make && make install

off_t undefined 報錯

技術分享圖片

off_t 類型是在 頭文件 unistd.h中定義的,

在32位系統 編程成 long int ,64位系統則編譯成 long long int ,

在進行編譯的時候 是默認查找64位的動態鏈接庫,

但是默認情況下 centos 的動態鏈接庫配置文件/etc/ld.so.conf裏並沒有加入搜索路徑,

這個時候需要將 /usr/local/lib64 /usr/lib64 這些針對64位的庫文件路徑加進去。

#添加搜索路徑到配置文件

echo ‘/usr/local/lib64

/usr/local/lib

/usr/lib

/usr/lib64‘>>/etc/ld.so.conf

#然後更新配置

ldconfig -v

再次編譯

技術分享圖片

安裝:make && make install

報錯:

技術分享圖片

解決方法:cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

再次安裝 make && make install

成功輸出

技術分享圖片

配置,建立目錄:

cp php.ini-production /usr/local/php/lib/php.ini

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

ln -s /usr/local/php/sbin/php-fpm /usr/local/bin

cd /usr/local/php/etc/php-fpm.d

vim www.conf

輸入:

[www]

listen = 127.0.0.1:9080

listen.mode = 0666

user = www #php代碼目錄權限 需要跟這個一致,

group = www #php代碼目錄權限 需要跟這個一致

pm = dynamic

pm.max_children = 128

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 10000

rlimit_files = 1024

slowlog = log/$pool.log.slow

加入systemctl服務

技術分享圖片

cd /opt/installation-package/php-7.3.4/sapi/fpm/

cp php-fpm.service /usr/lib/systemd/system/

啟動:systemctl start php-fpm

查看狀態:systemctl status php-fpm

技術分享圖片

MySQL擴展:

(PHP7.2不再支持mysql,而是用mysqli取代。)

由於需要和MySQL進行通信,所以需要特別查看PHP7安裝後的lib擴展庫目錄 cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/ 下是否有mysqli.so pdo_mysql.so

技術分享圖片

LNMP CentOS7.4 安裝 php7.3.4 nginx1.4 部署 並安裝wordpress