nginx增加php支持,Nginx启用php支持
在apache中启用php很简单,apache有phpmodule模块,集成进去就OK。在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 会得到:
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_parames文件加上上述行,也可以在要使用配置的地方动态添加。使得该配置生效。
5、当需要处理php请求时,nginx的worker进程会将请求移交给php-fpm的worker进程进行处理,也就是最开头所说的nginx调用了php,其实严格得讲是nginx间接调用php。
我的系统环境是Ubuntu 18.04,安装nginx和php:
apt install nginx php php-fpm php-cgi
配置nginx,打开/etc/nginx/site-enabled/default
在server {} 括号中添加如下:
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
这里我直接指定sock。重启nginx:
systemctl restart nginx
在/var/www/html下新建test.php,内容如下:
phpinfo();
?>
在浏览器中访问:localhost/test.php,打印出php信息,说明安装成功。
nginx增加php支持,Nginx启用php支持相关推荐
- Nginx + Tomcat + HTTPS 配置不需要在 Tomcat 上启用 SSL 支持
2019独角兽企业重金招聘Python工程师标准>>> Nginx SSL+tomcat集群 Nginx tomcat no 不用https 最近做了个Web项目, 架构上使用了 N ...
- nginx配置php 9000,Nginx支持php配置
Nginx本身是不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用.FastCGI接口在Linux 下是socket,(这个socket可以是文件sock ...
- nginx安装配置、Nginx支持php
认识Nginx Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igo ...
- https nginx phpstudy_让phpStudy2018 Nginx 支持WordPress自定义链接
只适合Windows本地环境(服务器上没试过),默认phpStudy2018 Nginx并不支持WordPress自定义链接,可以通过修改配置文件支持让其支持. 用文本编辑工具打开PHPTutoria ...
- 创建支持nginx服务的docker镜像
环境: [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-n ...
- linux如何开启sni服务,Nginx开启单IP多SSL证书支持-TLS SNI support
Nginx支持单IP多域名SSL证书需要OpenSSL支持,由于CentOS5.X系统自带的OpenSSL版本太低不支持,所以首先需要编译安装一个高版本的openssl,CentOS 6.X的系统自带 ...
- Nginx系列之使用ssl模块配置支持代理HTTPS链接
Nginx系列之使用ssl模块配置支持HTTPS访问 1.博客前言介绍 最近在用nginx代理https的第三方链接,因为不是做运维,所以对nginx并不是特殊熟悉,所以到处询问摸索了挺久 2.查看s ...
- Nginx增加m3u8流视频文件功能模块 推流和拉流
Nginx增加m3u8流视频文件功能模块 推流和拉流 FastDFS分布式文件系统安装和配置_亲测成功 ./configure --prefix=/u06/data/apps/nginx-rtmp \ ...
- 为 CefSharp 应用内置 C++ 运行环境并启用 AnyCPU 支持
一个 CefSharp 应用程序要想正确运行,有两个必要条件: .NET Framework 4.5.2 VC++ 2015 在部署 CefSharp 应用时经常会遇到因为没有 VC++ 2015 而 ...
最新文章
- MyBatis之级联——一对一关系
- 学生电脑哪个牌子好_面包冷藏车哪个牌子好
- asp删除mysql_asp php 清空access mysql mssql数据库的代码
- 答题闯关php,成语答题闯关红包流量主小程序源码
- jeewx-api.jar入门教程
- 如何给Xcode添加我们常用的插件呢?
- 第二十:如何把Jenkins+Allure2生成的报告发送邮件(重点超详细)
- MySQL中的事务隔离级别
- 基于 asp access人人享二手车直卖网
- iOS base64编解码
- java访问网络接口_Java网络访问 java调用http java调用其他接口
- YUI Compressor Maven
- 安装SQL SERVER 2005后,没有SSMS界面管理的问题
- 排列组合思维导图_排列组合——组合数专题
- 蔡康永:我要的三国就是威力无双。0氪玩家玩了两个礼拜后
- Application.streamingAssetsPath在android和ios和pc上的读取
- 在家做什么可以赚钱?适合在家的5个小项目!
- 层次聚类sklearn.cluster包AgglomerativeClustering
- 分享一个做简历的网站
- redis incr和incrBy的使用