下载,。也可以去,下载想要的版本。我选择nginx1.10.3稳定版和php7.0.9最新版。php源码包下载速度可能会很慢,建议使用迅雷等工具,下载完成后通过stfp工具把源码包上传到服务器上,为方便测试,我直接放置在root家目录下:
使用源码安装要确保服务器安装好gcc(编辑工具)和make(安装工具),若没安装可以执行命令安装:
# yum install gcc# yum install make
安装ngix之前还需要安装好以下依赖工具:
# yum -y install pcre-devel openssl openssl-devel
解压php、nginx源码包:
# tar xvf php-7.0.9.tar.gz # tar xvf nginx-1.10.3.tar.gz
安装nginx,进入解压目录:
编辑configure文件:
# ./configure --prefix=/usr/local/nginx
编译结束没有错误以后执行安装:
# make && make install
因为编译安装,并没使用yum,所以没法直接使用nginx命令了。
PS
启动:/usr/local/nginx/sbin/nginx
停止/重新加载:/usr/local/nginx/sbin/nginx -s stop(quit、reload)验证配置文件是否合法:/usr/local/nginx/sbin/nginx -t命令帮助:/usr/local/nginx/sbin/nginx -h添加全局命令,把nginx绝对路径的执行命令通过软链接添加到系统bin目录下:
# ln -s /usr/local/nginx/sbin/nginx /bin/
测试全局命令,任意位置执行nginx命令:
查看是否启动:
# ps -aux | grep nginx
浏览器测试,浏览器输入服务器公网ip:
安装php7.0.9:
一并安装php7所需依赖库否则配置时会报错:
# yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype freetype-devel gd jpegsrc libmcrypt libpng libpng-devel libjpeg libjpeg-devel libxml2 libxml2-devel zlib curl curl-devel openssl openssl-devel libxml2 libxml2-devel readline-devel libedit-devel pcre-devel
命令行执行命令,进行安装配置
# ./configure --prefix=/usr/local/php --enable-bcmath --enable-mbstring --enable-mysqlnd --enable-opcache --enable-pcntl --enable-xml --enable-zip --with-libedit --with-openssl --with-zlib --with-mysqli --with-pdo-mysql --with-pear --enable-fpm --enable-bcmath --enable-mbstring --enable-mysqlnd --enable-opcache --enable-pcntl --enable-xml --enable-zip --with-curl --with-mysqli --with-pdo-mysql
看到Thank you for use php表示配置成功,可以执行make来进行安装了:
安装php7:
# make && make install
安装完毕:
PHP安装是完成了,但是没找到配置文件,因为配置文件 php.ini需要自己从安装包中拷贝过来
该把源码包中的php.ini拷贝到哪里呢?执行(# php -ini), Configuration File Path就是php.ini需要存放的位置:
# cp ~/php-7.0.9/php.ini-production /usr/local/php/lib/php.ini
对应位置复制粘贴创建php-fpm.conf、www.conf文件
*.conf 是php-fpm的配置文件,没有它启动php-fpm时候会报错
开启php-fpm
# /usr/local/php/sbin/php-fpm &
如果端口被占用,启动失败
查看占端口应用,杀掉应用
# netstat -ntlp | grep 9000# killall php-fpm
让nginx支持php扩展:(编辑nginx.conf)
打开这几行代码注释,把红线位置的/scripts改成项目源码存放的位置,根据实际情况,保存退出。
重启nginx服务器:
# /usr/local/nginx/sbin/nginx -s stop
对应目录创建index.php文件测试:
浏览器测试:
把php、php-fpm局部命令添加到系统全局命令中:
# ln -s /usr/local/php/bin/php /bin/# ln -s /usr/local/php/sbin/php-fpm /sbin/
测试全局命令php:
测试全局命令php-fpm:
设置nginx、php-fpm开机自动启动,编辑/etc/rc.local文件,添加nginx、php-fpm的启动命令到其中保存即可: