LNMP(nginx php-fpm mysql) 环境部署——php
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LNMP(nginx php-fpm mysql) 环境部署——php相关的知识,希望对你有一定的参考价值。
前言:
之前已经说过部署的初衷,如有不清楚的,可以看下上篇的前言或在评论区留言给我。
准备:
php官网:php.net
源码目录:/usr/local/src
php采用源码安装方式
系统为:centos 6.8
php采用5.6版本。最新版本为7版本,如是新项目可采用7版本,对于老项目,如没有重构的准备,建议不要升级到7
安装:
1 安装工具,配置编译的时候提示缺少什么就安装什么的开发包
yum install -y wget make gcc libxml2-devel opensll-devel bzip2-devel libcurl-devel gd-devel
2 下载源码包及签名文件
wget wget http://cn2.php.net/distributions/php-5.6.28.tar.gz.asc
3 验证文件签名,在没有密钥前验证会给出钥匙号并提示没有公钥
gpg --verify php-5.6.28.tar.gz.asc
4 下载密钥
gpg --keyserver keys.gnupg.net --recv-key 33CFC8B3
5 再次验证签名
gpg --verify php-5.6.28.tar.gz.asc
gpg: Signature made Wed Nov 9 10:24:59 2016 CST using RSA key ID 33CFC8B3 gpg: Good signature from "Ferenc Kovacs <[email protected]>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 6E4F 6AB3 21FD C07F 2C33 2E3A C2BF 0BC4 33CF C8B3
注意:源码包要和签名文件放到同一路径下
看到 Good signature 既表明验证成功,后面的警告是说签名不受信任,这个要通过最后的密钥指纹和签名者验证,http://php.net/downloads.php#gpg-5.6 官方给出了密钥指纹
6 解压
tar zxf php-5.6.28.tar.gz cd php-5.6.28.tar.gz
7 配置编译参数
./configure --help ./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-mysql --with-mysqli --with-config-file-scan-dir=/etc/php.d --enable-fpm --with-gd --with-iconv --with-zlib --enable-xml --enable-inline-optimization --with-openssl --enable-pcntl --enable-zip --with-curl --with-bz2 --with-jpeg-dir --with-png-dir --enable-mbstring
8 编译
make make install
9 配置php服务
cp php.ini-production /usr/local/php/etc/php.ini ln -s /usr/local/php/etc/php.ini /etc/php.ini #拷贝模板文件为php-fpm配置文件 cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf ln -s /usr/local/php/etc/php-fpm.conf /etc/php.ini #添加启动服务 cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm chmod +x /etc/rc.d/init.d/php-fpm chkconfig php-fpm on
php-fpm 默认通过9000端口提供服务,需要添加iptables规则,允许web cgi请求php。
web集群/反向代理ip段 172.16.10.0/24
iptables -I INPUT -s 172.16.10.0/24 -p tcp --dport 9000 -j ACCEPT
10 测试
echo ‘<?php phpinfo();?>‘ info.php /usr/local/php/bin/php -f info.php
11 启动php-fpm服务
service php-fpm start
本文出自 “morrowind” 博客,请务必保留此出处http://morrowind.blog.51cto.com/1181631/1875224
以上是关于LNMP(nginx php-fpm mysql) 环境部署——php的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu14.04安装lnmp(nginx+php-fpm+mysql), nginx reload总是fail,附操作步骤,请指点,谢谢。
Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务
LNMP(nginx php-fpm mysql) 环境部署——php
阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之php-fpm配置及其与Nginx的通信