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

nginx怎样给站点配置php?

538 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系统下VIM编辑器的常用用法
Linux系统下VIM编辑器的常用用法

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

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

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

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

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

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

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

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

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

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

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

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

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

1 519
linux基础:VIM编辑器怎样做分屏展示?
linux基础:VIM编辑器怎样做分屏展示?

VIM编辑器是一款非常常用的linux编辑器,熟练运用vim编辑器可以让我们操作lin...

1 481
推荐插件
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

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

0 985
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

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

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

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

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

0 398
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

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

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

0 811
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 448
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...

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