下载鸥 > 网站下载 > 开发教程 > Linux

nginx怎样给站点配置php?

486 2021-01-03 21:06:13

收藏

简述

拉到最下方,加入红色部分的代码即可实现nginx配置php。

nginx+php是如今运用相当广泛的webserver的架构模式。在这个架构过程中,第一步需要实现的是如何让nginx正确的调用php。

由于nginx调用php并不是如同调用一个静态文件那么直接简单,是需要动态执行php脚本。所以涉及到了对nginx.conf文件的配置。

今天,鸥哥主要就nginx server中配置的基本原理以及配置php调用的方法做一个简单的介绍。
 

一、nginx+php运行原理

首先简单的讲一讲原理,目前主流的nginx+php的运行原理如下:

1、nginx的worker进程直接管理每一个请求到nginx的网络请求。

2、对于php而言,由于在整个网络请求的过程中php是一个cgi程序的角色,所以采用名为php-fpm的进程管理程序来对这些被请求的php程序进行管理。php-fpm程序也如同nginx一样,需要监听端口,并且有master和worker进程。worker进程直接管理每一个php进程。

3、关于fastcgi:fastcgi是一种进程管理器,管理cgi进程。市面上有多种实现了fastcgi功能的进程管理器,php-fpm就是其中的一种。再提一点,php-fpm作为一种fast-cgi进程管理服务,会监听端口,一般默认监听9000端口,并且是监听本机,也就是只接收来自本机的端口请求,所以我们通常输入命令 netstat -nlpt|grep php-fpm 会得到:

1  tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      1057/php-fpm

这里的127.0.0.1:9000 就是监听本机9000端口的意思。 
 

4、关于fastcgi的配置文件,目前fastcgi的配置文件一般放在nginx.conf同级目录下,配置文件形式,一般有两种:

fastcgi.conf 和 fastcgi_params。
不同的nginx版本会有不同的配置文件,这两个配置文件有一个非常重要的区别:fastcgi_parames文件中缺少下列配置:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


我们可以打开fastcgi_params文件加上上述行,也可以在要使用配置的地方动态添加。使得该配置生效。

5、当需要处理php请求时,nginx的worker进程会将请求移交给php-fpm的worker进程进行处理,也就是最开头所说的nginx调用了php,其实严格得讲是nginx间接调用php。

了解了上面的这五个简单原理,在nginx中配置php调用方法就变得易如反掌。
 

二、配置文件

直接贴上代码逐行进行讲解,此处贴出一个能正常启动php脚本的最简nginx vhost配置。

server { 
    listen       80;
    server_name  demo.com;
    location ~ .php?.*$ { 
        root           /var/www/demo.com; 
        fastcgi_pass   127.0.0.1:9000; 
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name
        include        fastcgi_params; 
    

}

将红色部分粘贴到对应的.conf配置文件中,即可正常访问php页面。

本文地址:https://xzo.com.cn/develop/linux/606.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于Linux


Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

推荐Linux开发教程
Linux系统常用命令与功能解析
Linux系统常用命令与功能解析

宝塔面板无疑非常好用,简单又无比高效。但,如果客户公司不允许用宝塔怎么办?如...

30 1475
Linux系统下VIM编辑器的常用用法
Linux系统下VIM编辑器的常用用法

Linux系统下,使用vim编辑器修改源码非常高效,每个想要做大牛的程序猿都应该熟...

14 559
宝塔面板无法打开phpMyAdmin怎么办?
宝塔面板无法打开phpMyAdmin怎么办?

对于建站新手而言,宝塔面板无法打开phpMyAdmin是一个高发问题,就像无法连接ft...

20 834
宝塔面板如何屏蔽恶意访问ip
宝塔面板如何屏蔽恶意访问ip

在网站运营过程中,我们总会接触到这样那样的恶意访问,此时最好的办法就是用宝...

0 511
宝塔面板如何防止恶意网站解析?
宝塔面板如何防止恶意网站解析?

许多新人在用宝塔时,因为不曾注意,导致网站被人恶意解析,好点的是分走流量权重...

1 382
Linux配置端口转发
Linux配置端口转发

一些大型站点可能需要用到端口转发功能,通过转发实现服务器压力缓解,实现多台...

1 397
宝塔面板nginx的gzip_comp_level怎样设置?
宝塔面板nginx的gzip_comp_level怎样设置?

宝塔面板nginx配置中有一个gzip_comp_level,作用是压缩文件,我们要怎样设置最...

1 369
宝塔面板防火墙有什么用?
宝塔面板防火墙有什么用?

使用宝塔面板的用户非常多,但大多数人只是将宝塔作为一个安装配置简单的服务...

1 499
推荐插件
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 664
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

0 772
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 412
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 936
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1045
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 496
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 365
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 284
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入