1. 程式人生 > >No.6 PHP的基本配置與優化

No.6 PHP的基本配置與優化

linux運維

PHP
下載
http://www.php.net/downloads.php
安裝
yum -y install libxml2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libxslt-devel gcc gcc-c++
openssl-devel
tar xf php-7.2.3.tar.bz2 -C /tmp
./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-
jpeg-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-xmlrpc --with-xsl --with-zlib --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-xml --enable-zip --with-
fpm-group=nginx --with-fpm-user=nginx
make
make install
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm && chmod 755 /etc/init.d/php-fpm #RHEL6 啟動腳本
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/ #RHEL7 啟動腳本
cp /usr/local/php/etc/{php-fpm.conf.default,php-fpm.conf} #php-fpm 的主配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf{.default,} # php-fpm 的子配置文件
cp php.ini-production /usr/local/php/lib/php.ini # php 的主配置文件
註: 如果在 ./configure 時沒有使用--with-config-file-path=/path 參數指定路徑,默認的php配置文件路徑在
/usr/local/php/lib 下 ; 如果 ./configure 時沒有使用 --with-fpm-group=nginx --with-fpm-user=nginx ,默認php-
fpm進程的屬主、屬組是nobody
[root@localhost php-fpm.d]# grep -Pv "^($|#|;)" /usr/local/php/etc/php-fpm.d/www.conf [www] user = nginx
group = nginx listen = 127.0.0.1:9000 #跟據環境所需改變綁定的IP與監聽的port pm = dynamic #php-fpm 的工作
模式,推薦dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1
pm.max_spare_servers = 3
[root@localhost ~]# systemctl start php-fpm
[root@localhost ~]# lsof -i:9000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME php-fpm 84636
root 6u IPv4 206840 0t0 TCP localhost:cslistener (LISTEN) 主進程 php-fpm 84637 nginx 0u IPv4 206840 0t0 TCP
localhost:cslistener (LISTEN) 工作進程 php-fpm 84638 nginx 0u IPv4 206840 0t0 TCP localhost:cslistener
(LISTEN)
在nginx 的配置文件中添加調用fastcgi的模塊:
技術分享圖片
說明: /data/wwwroot 是php存放的路徑; php-fpm和nginx 是可以分離的(部署在不同的server上)
phpredis
技術分享圖片
驗證: 使用phpinfo()函數輸出時可以查找到redis相關模塊
php的優化
技術分享圖片

No.6 PHP的基本配置與優化