下载
Nginx官网提供了三个类型的版本
1. Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
2. Stable version:最新稳定版,生产环境上建议使用的版本
3. Legacy versions:遗留的老版本的稳定版
打开下载页面,选择适合的版本(当前最新版本是7.1.4),进入镜像页面。找到对应的镜像地址。进入存储目录,开始下载。
cd /usr/local/src/php
wget http://cn2.php.net/distributions/php-7.1.4.tar.gz
tar -xzvf php-7.1.4.tar.gz
cd php-7.1.4
下载完成后,用tar
解压。
准备编译环境
在编译安装php之前,需要安装一些依赖包。
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel bzip2 bzip2-devel libzip-devel libxslt-devel
yum跳过已经安装过的依赖包。
开始安装
php-fpm的用户组和nginx一致,都为nginx
。
- 编译参数配置。
./configure --prefix=/alidata/service/php \
--with-config-file-path=/alidata/service/php/etc \
--with-config-file-scan-dir=/alidata/service/php/etc/php.d \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=nginx\
--with-fpm-group=nginx\
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--enable-exif \
--with-freetype-dir \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-pcre-regex \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-jpeg-dir \
--with-xsl \
--with-bz2 \
--with-mhash \
--enable-bcmath \
--enable-libxml \
--enable-sysvshm \
--enable-opcache
参数配置成功后的画面。如果中间有报错,请先解决报错。一般都是依赖包没有引起的。
遇到
system libzip must be upgraded to version >= 0.11
请参考: https://www.cnblogs.com/itbsl/p/10208926.html
yum -y remove libzip-devel
如果报 configure: WARNING: unrecognized options: --with-mcrypt, --enable-gd-native-ttf 这个警告,是php7.1之后,去掉了这些扩展。详情,请看这个博客。
https://blog.csdn.net/towtotow/article/details/78956086
- 编译安装。
make && make install
安装完成之后,可以通过命令 make test
检查一下。
- 配置环境变量。
在终端中,任意位置都能使用的命令,需要配置环境变量。就如在win下一样。liunx下,只要编辑 /etc/profile
文件并source
就可以。
vi /etc/profile
在末尾追加
PATH=$PATH:/alidata/service/php/bin
export PATH
保存,然后source。
source /etc/profile
echo $PATH #看到配置的环境变量了
php -v #查看php的版本信息
- 配置文件。
刚安装完成,你并不会发现php-fpm.conf
,www.conf
以及php.ini
文件。这几个重要文件,其实都有,前边两个文件只是将名字后边加了.default
。第三个文件在源码包的根目录里,而且有两个,一个是php.ini-development
,另一个是php.ini-production
。既然找到了对应文件的位置,只需要复制一份过来就可以了。注意复制过来的路径(-with-config-file-path对应)和名字。
先来一个插曲,怎么找文件。找英语就是find。在这里也用find。
find / -name php.ini #这个时候,你会发现找不到php.ini文件。
find / -name php.ini-production #这个时候,你会发现在你的源码包里。
现在,正式填充上边三个文件。
cp /alidata/service/php/etc/php-fpm.conf.default /alidata/service/php/etc/php-fpm.conf
cp /alidata/service/php/etc/php-fpm.d/www.conf.default /alidata/service/php/etc/php-fpm.d/www.conf
cp /usr/local/src/php/php-7.1.4/php.ini-production /alidata/service/php/etc/php.ini
cp /usr/local/src/php/php-7.1.4/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm #开机自启动
开启可以这样
#启动服务
service php-fpm start
#停止服务
service php-fpm stop
#重启服务
service php-fpm reload
到此,我们熟悉的/etc/init.d/php-fpm start
回来了。
/etc/init.d/php-fpm start #开启
/etc/init.d/php-fpm stop #关闭
/etc/init.d/php-fpm restart #重启
额外
这些配置环境变量,配置/etc/init.d/
其根本还是文件本身。比如在你配置php的环境变量后,你可以任意位置使用php -v
来获取php的版本。可是,你通过/data/server/php/bin/php -v
一样可以获取到php的版本。这个才是根本。
网站目录,用户组以及权限的设定:
chown -R www:root www
chmod -r 755 www
可以将www
用户不再设置为nologin
,处理www
目录下的文件时候,可以切换到www
用户。
su www
还是不要按上边来吧。