LNMP--1.php 编译安装

2018-01-02

LNMP--1.php 编译安装

  针对 Nginx 的 PHP 安装和针对 apache 的 PHP 安装是有区别的,因为 Nginx 中的 PHP 是以 fastcgi 的方式结合 nginx 的。可以理解为 nginx 代理了 PHP 的 fastcgi,而 apache 是把 PHP 作为自己的模块来调用的。

  下载地址:官方 http://www.php.net/downloads.php 镜像 http://mirrors.sohu.com/php/php-5.6.10.tar.gz

 (1)下载源码包

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# wget http://mirrors.sohu.com/php/php-5.6.10.tar.gz

 (2)解压源码包,创建账号

[root@localhost src]# tar zxf php-5.6.10.tar.gz

[root@localhost src]# useradd -s /sbin/nologin php-fpm

  该账号用来运行 php-fpm 服务,在 LNMP 环境中,PHP 是以一个服务来提供服务的。

 (3)配置编译选项

[root@localhost php-5.6.10]# ./configure \

--prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc \

--enable-fpm \

--with-fpm-user=php-fpm \

--with-fpm-group=php-fpm \

--with-mysql=/usr/local/mysql \

--with-mysql-sock=/tmp/mysql.sock \

--with-libxml-dir \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--with-iconv-dir \

--with-zlib-dir \

--with-mcrypt \

--enable-soap \

--enable-gd-native-ttf \

--enable-ftp \

--enable-mbstring \

--enable-exif \

--enable-zend-multibyte \

--disable-ipv6 \

--with-pear \

--with-curl \

--with-openssl

  错误信息:

configure: error: Please reinstall the libcurl distribution -

    easy.h should be in <curl-dir>/include/curl/

  解决方法:

# yum install -y libcurl-devel

  错误:

configure: error: jpeglib.h not found.

# yum install -y libjpeg-devel
configure: error: png.h not found.

# yum install -y libpng-devel

 (4)编译 PHP

[root@localhost php-5.6.10]# make

[root@localhost php-5.6.10]# echo $?

0

 (5)安装 PHP

[root@localhost php-5.6.10]# make install

[root@localhost php-5.6.10]# echo $?

0

 (6)修改配置文件

[root@localhost php-5.6.10]# cp php.ini-production /usr/local/php/etc/php.ini

[root@localhost php-5.6.10]# vim /usr/local/php/etc/php-fpm.conf

  写入:

[global]

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

error_log = /usr/local/php/var/log/php-fpm.log

[www]

listen = /tmp/php-fcgi.sock

user = php-fpm

group = php-fpm

listen.owner = nobody

listen.group = nobody

pm = dynamic

pm.max_children = 50

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

rlimit_files = 1024

  检查配置是否正确:

[root@localhost php-5.6.10]# /usr/local/php/sbin/php-fpm -t

[29-Jun-2016 00:17:57] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

 (7)启动 php-fpm

  拷贝启动脚本到 /etc/init.d/ 下

[root@localhost php-5.6.10]# cp /usr/local/src/php-5.6.10/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[root@localhost php-5.6.10]# chmod 755 /etc/init.d/php-fpm

[root@localhost php-5.6.10]# chkconfig --add php-fpm

[root@localhost php-5.6.10]# chkconfig php-fpm on

[root@localhost php-5.6.10]# service php-fpm start

Starting php-fpm  done

[root@localhost php-5.6.10]# ps aux|grep php-fpm

root     27263  2.6  0.4 109060  4880 ?        Ss   00:24   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)

php-fpm  27264  0.0  0.4 109060  4348 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27265  0.0  0.4 109060  4348 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27266  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27267  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27268  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27269  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27270  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27271  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27272  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27273  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27274  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27275  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27276  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27277  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27278  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27279  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27280  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27281  0.0  0.4 109060  4352 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27282  0.0  0.4 109060  4356 ?        S    00:24   0:00 php-fpm: pool www

php-fpm  27283  0.0  0.4 109060  4356 ?        S    00:24   0:00 php-fpm: pool www

root     27285  0.0  0.0 103328   868 pts/1    S+   00:24   0:00 grep php-fpm

标题:LNMP--1.php 编译安装
作者:散宜生
地址:https://17kblog.com/articles/2018/01/02/1514889073733.html