小编教你:nginx和php-fpm基础环境的安装和配置

  • 时间:2018-11-07 23:28 作者:IT生涯 来源:IT生涯 阅读:672
  • 扫一扫,手机访问
摘要:基本原理nginx本身不能解决PHP,它只是个web服务器,当接收到请求后,假如是php请求,则发给php解释器解决,并把结果返回给用户端。nginx一般是把请求发fastcgi管理进程解决,fascgi管理进程选择cgi子进程解决结果并返回被nginx。安装php和php-fpm这里我使用的php

基本原理

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】出现如下页面就正常了

小编教你:nginx和php-fpm基础环境的安装和配置

配置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-fpm基础环境的安装和配置

总结一下

经过以上这些简单的步骤之后,nginx下运行php相信不再是那么神秘了。。。

当然,我这里只是配置了一个最基本的运行环境,像你要运行项目的话应该还要配置虚拟主机、伪静态这些。

还有就是nginx配置文件的参数含义,这个有空的话还是去看看官方文档说明,毕竟你要知道你配置的每一项是什么意思才好!

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
【系统环境|】ZORRO佐罗软件安装教程及一键新机使用方法详细简介(2023-02-10 21:56)
【系统环境|】阿里云 centos 云盘扩容命令(2023-01-10 16:35)
【系统环境|】补单系统搭建补单源码搭建(2022-05-18 11:35)
【系统环境|服务器应用】高端显卡再度登上热搜,竟然是因为“断崖式”的降价(2022-04-12 19:47)
手机二维码手机访问领取大礼包
返回顶部