小编教你:nginx和php-fpm基础环境的安装和配置
基本原理
nginx本身不能解决PHP,它只是个web服务器,当接收到请求后,假如是php请求,则发给php解释器解决,并把结果返回给用户端。
nginx一般是把请求发fastcgi管理进程解决,fascgi管理进程选择cgi子进程解决结果并返回被nginx。
安装php和php-fpm
这里我使用的php7版本,目前官方已经发布了php7的beta3版本。php-fpm已经被包含在里面了,无需另外安装。。。
至于php7的编译安装,看一下我之前的 这篇文章 文章就妥妥的搞定了!
安装nginx
nginx的话,毫无疑问我一定选择源码编译安装,由于的确是习惯了这种方式了!
我这里就拿1.6.2版本为例,戳 这里下载,解压之后进入源码目录
#配置,相关参数含义自己去查阅文档哦
./configure –prefix=/usr/local/nginx –sbin-path=/usr/local/nginx/nginx –conf-path=/usr/local/nginx/nginx.conf –pid-path=/usr/local/nginx/nginx.pid –with-http_ssl_module –with-http_realip_module –with-http_sub_module –with-http_gzip_static_module –with-http_stub_status_module –with-pcre –with-cc-opt=”-Wno-deprecated-declarations”
#编译
make
#安装
sudo make install
测试ngnix
#命令拷贝到系统目录,方便使用
sudo cp /usr/local/nginx/nginx /usr/bin
#测试配置能否出错,假如出错,按照错误信息提醒去修改了
nginx -t
#启动nginx
nginx
页面访问,输入http://localhost:8888查看【这里我在配置文件里面把nginx的监听端口改成了8888】出现如下页面就正常了
配置php-fpm
#复制一份有效的配置文件
sudo cp /usr/local/php7/etc/php-fpm.conf.default.conf php-fpm.conf
#复制一份有效的客户配置文件,客户名是配置php的时候指定的
sudo cp /usr/local/php7/etc/php-fpm.d/www.conf.default www.conf
#启动php-fpm,mac必需要以root客户启动,-R 参数表示 –allow-to-run-as-root
sudo /usr/local/php7/sbin/php-fpm -R
#查看一下php-fpm能否启动成功
ps aux | grep php-fpm
#这里我修改了php-fpm的端口号,默认是9000
netstat -ant | grep 90001
nginx整合php-fpm
修改nginx的配置文件,支持php文件的解析
#打开配置文件,找到`location ~ \.php$`这里,默认的如下
…
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9001;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# include fastcgi_params;
#}
…
#略微改吧改吧就成了下面的样子,相信你看的懂什么意思了。。。
…
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
…
测试php文件的解析
cd /usr/local/ngnix/html
echo “<?php phpinfo();” > index.php
浏览器访问 http://localhost:8888/index.php,熟习的画面又出现了!
总结一下
经过以上这些简单的步骤之后,nginx下运行php相信不再是那么神秘了。。。
当然,我这里只是配置了一个最基本的运行环境,像你要运行项目的话应该还要配置虚拟主机、伪静态这些。
还有就是nginx配置文件的参数含义,这个有空的话还是去看看官方文档说明,毕竟你要知道你配置的每一项是什么意思才好!
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 小编教你:nginx和php-fpm基础环境的安装和配置