Nginx+php配置文件及功能参数介绍

目录:

一、Nginx配置文件

二、upstream 模块介绍:

三、fastcgi 模块介绍:

四、PHP配置文件

一、Nginx配置文件

user  www www;                                                                                                                                     ##nginx程序运行用户和用户组

worker_processes 4;                                                                                                                               ##nginx 打开的进程数,建议设置为等于CPU总核心数

events                                                                                                                                                         >nginx事件区块开始

{

use epoll;                                                                                                                                                    ##高性能的网络

worker_connections 1204;                                                                                                                     ##单个进程的最大连接数(最大连接数=连接数*进程数)

}                                                                                                                                                                   >nginx事件区块结束

http                                                                                                                                                            >https区块开始

{

include       mime.types;                                                                                                                        ##nginx支持的媒体类型库

default_type  application/octet-stream;                                                                                           ##nginx 默认的媒体类型

sendfile on;                                                                                                                                            ##开启高效传输模式

keepalive_timeout 60;                                                                                                                         ##keepalive超时时间

log_format  access  ‘$remote_addr - $remote_user [$time_local] "$request" ‘                      ##nginx访问日志格式

‘$status $body_bytes_sent "$http_referer" ‘

‘"$http_user_agent" $http_x_forwarded_for‘;

server                                                                                                                                                     >server区块开始

{

listen       80;                                                                                                                                          ##nginx监听端口号

server_name www.test.com;                                                                                                            ##nginx 指定域名参数

index index.php  index.html index.htm;                                                                                          ##默认的首页文件,“空格”为分隔符

root  /data/www/www.test.com;                                                                                                    ##指定nginx的网站根目录,访问内容存放位置

error_log  /data/weblogs/nginx_error.log crit;                                                                             ##nginx错误日志存放位置,同日志类型

access_log  /data/wwwlogs/access.log  access;                                                                            ##nginx访问日志存放位置,同日志类型

location ~ \.php$ {                                                                                                                           >nginx fastcgi区块开始

fastcgi_pass   127.0.0.1:9000;                                                                                                       ##php  fastcgi监听地址和端口

fastcgi_index  index.php;                                                                                                               ##默认的首页文档类型

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;                                        ##脚本文件请求的路径

include        fastcgi.conf;                                                                                                                 ##调用fastcgi.conf文件

}                                                                                                                                                            >nginx fastcgi区块结束

}                                                                                                                                                            >nginx server  区块结束

}                                                                                                                                                            >nginx https    区块结束

二、upstream  模块介绍:

upstream模块:可以简单的实现后端服务器负载平衡,例如后端服务器是php服务器

upstream算法:

轮询算法,每个请求按时间顺序分别分配给,后端服务器,如果后端服务器宕机,能自动剔除,会由其他后端主机接着处理请求。

weight算法(权重),指定后端服务器的轮询几率,例如后端服务器硬件配置高等不一,可以使用此算法进行请求分配

配置样板:

upstream myfastcgi  {

server  10.10.10.10:9000 weight=1 max_fails=2 fail_timeout=30;

server  10.10.10.11:9000 weight=5 max_fails=2 fail_timeout=30;

}

以配置样板为例,配置后端两台主机为轮询算法,同时也配置了weight(权重)算法,那么当发来请求时,10.10.10.11这台主机的接收请求频率要比10.10.10.10的高,理论上                                          weight=5的主机处理了5次请求,weight=1,的主机只处理一次请求,想要看到明确的数据请自行测试

三、fastcgi  模块介绍:

这个模块允许nginx与fastcgi进程交互,并通过传递参数来控制fastcgi进程工作

FastCGI 接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇 到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态 脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能

配置样板:

location ~ \.php$ {                                                                                                                           >nginx fastcgi区块开始,location定义了以.php结尾的请求

fastcgi_pass   127.0.0.1:9000;                                                                                                       ##php-fpm监听地址和端口

fastcgi_index  index.php;                                                                                                               ##默认的首页文档类型

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;                                        ##脚本文件请求的路径,转给php-fpm脚本名

include        fastcgi.conf;                                                                                                                ##调用fastcgi.conf文件,关于fastcgi相关配置

}                                                                                                                                                            >nginx fastcgi区块结束

四、PHP配置文件

PHP配置文件,主要参数介绍

[global]

pid = /usr/local/php/php-fpm.pid

#php-fpm,pid文件存放位置,重启php-fpm文件时需要用到,也是确认服务器是否启动的一种方式

error_log = /data/weblogs/php-fpm-error.log

#php-fpm错误日志存放位置

log_level = notice

#日志级别

emergency_restart_threshold = 10

emergency_restart_interval = 1m

#表示在emergency_restart_interval所设值内出现SIGSEGV或者SIGBUS错误的php-cgi进程数如果超过 emergency_restart_threshold个,php-fpm就会                 优雅重启。这两个选项一般保持默认值

process_control_timeout = 5s

#设置子进程接受主进程复用信号的超时时间. 可用单位: s(秒), m(分), h(小时), 或者 d(天) 默认单位: s(秒). 默认值: 0.

daemonize = yes

#后台执行fpm,默认值为yes,如果为了调试可以改为no。在FPM中,可以使用不同的设置来运行多个进程池。 这些设置可以针    对每个进程池单独设置

[www]

listen = 127.0.0.1:9000

#php-fpm监听地址和端口

listen.backlog = -1

listen.allowed_clients = 127.0.0.1

#php-fpm允许访问的服务器ip

user = www

#php-fpm程序运行用户

group = www

#php-fpm程序运行组

listen.mode=0666

# unix socket设置选项,如果使用tcp方式访问,这里注释即可

pm = dynamic                                                       #对于专用服务器,pm可以设置为static

pm.max_children = 64                                        #子进程,最大数

pm.start_servers = 5                                           #启动时的进程数

pm.min_spare_servers = 5                                #保证空间进程数最小值,如果空闲进程小于此值,则创建新的子进程

pm.max_spare_servers = 15                             #保证空闲进程数最大值,如果空闲进程大于此值,则进行清理

pm.max_requests = 1024

#设置每个子进程重生之前服务的请求数. 对于可能存在内存泄漏的第三方模块来说是非常有用的. 如果设置为 ‘0‘ 则一直接    受请求. 等同于 PHP_FCGI_MAX_REQUESTS 环境变量. 默认值: 0.

request_terminate_timeout = 0s

#设置单个请求的超时中止时间. 该选项可能会对php.ini设置中的‘max_execution_time‘因为某些特殊原因没有中止运行的脚本有用. 设置为 ‘0‘ 表示 ‘Off‘.当经常出现502错误时可以尝试更改此选项

request_slowlog_timeout = 0s                                               #php-fpm   slowlog超时时间

slowlog = /data/weblogs/php-fpm-slow.log                        #php-fpm开启了slowlog

rlimit_files = 65535

#设置文件打开描述符的rlimit限制. 默认值: 系统定义值默认可打开句柄是1024,可使用 ulimit -n查看

原文地址:https://www.cnblogs.com/bazingafraser/p/8505029.html

时间: 2024-10-20 23:52:21

Nginx+php配置文件及功能参数介绍的相关文章

【重要】Nginx模块之————Lua-Resty-Redis的参数介绍 (Lua-Nginx-Module 模块的Redis客户端驱动程序)

一.描述 这个Lua库是ngx_lua nginx模块的Redis客户端驱动程序:https://github.com/openresty/lua-nginx-module/#readme,这个Lua库利用ngx_lua的cosocket API,确保100%的非阻塞行为.请注意,至少需要ngx_lua 0.5.14或OpenResty 1.2.1.14. 二.方法介绍 除了所有的小写字母外,所有的Redis命令都有自己的方法.您可以在这里找到完整的Redis命令列表:http://redis.

LNMP架构应用实战——Nginx服务配置文件介绍

LNMP架构应用实战--Nginx服务配置文件介绍 nginx的配置文件比较简单,但功能相当强大,可以自由灵活的进行相关配置,因此,还是了解下其配置文件的一此信息 1.Nginx服务目录结构介绍 安装完成后,在安装路径下就会有Nginx目录信息 [[email protected] application]# tree nginx nginx +-- client_body_temp +-- conf          #nginx服务配置文件目录 |   +-- fastcgi.conf  

Nginx核心配置文件常用参数详解

Nginx核心配置文件常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于Nginx权威文档的话童鞋们可以参考Nginx官方文档介绍:http://nginx.org/en/docs/http/ngx_http_core_module.html.本篇博客只列出来了常用的参数介绍,用这些参数说明来定制化我们自己的nginx的web服务器等等. 一.正常运行的必备配置 1>.user username [groupname]; #以那个用户身份运行,以在configu

Nginx 主配置文件参数详解

Nginx 主配置文件参数详解 Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置).server(主机设置).upstream(负载均衡 服务器设)和 location(URL 匹配特定位置的设置),这四者关系为:server 继承 main, location 继承 server,upstream 既不会继承其他设置也不会被继承. 一.Nginx 的 main(全局配置)文件 [

karma配置文件参数介绍

目录结构 参数介绍 /*** * Created by laixiangran on 2015/12/22. * karma单元测试配置文件 */ module.exports = function(config) { config.set({ /*** * 基础路径,用在files,exclude属性上 */ basePath: "", /** * 测试框架 * 可用的框架:https://npmjs.org/browse/keyword/karma-adapter */ frame

Nginx实战系列之功能篇----后端节点健康检查

公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查.目前,nginx对后端节点健康检查的方式主要有3种,这里列出: 1.ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带)     官网地址:http://nginx.org/cn/docs/http/ngx_http_proxy_module.html#proxy_next_upstream 2.nginx_upstream_check_mod

使用NGINX+Openresty实现WAF功能

一.了解WAF1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用 防火墙 是通过执行一系列针对HTTP/HTTPS的 安全策略 来专门为Web应用提供保护的一款产品. 1.2 WAF的功能 支持IP白名单和黑名单功能,直接将黑名单的IP访问拒绝.支持URL白名单,将不需要过滤的URL进行定义.支持User-Agent的过滤,匹配自定义规则中的条目,然后进行处理(返

Nginx实战系列之功能篇----后端节点健康检查(转)

公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查.目前,nginx对后端节点健康检查的方式主要有3种,这里列出:   1.ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带)    官网地址:http://nginx.org/cn/docs/http/ng ... proxy_next_upstream2.nginx_upstream_check_module模块    官网网址:https:

Linux学习之路-Nginx(3)模块简要介绍篇【26】---20180222

一.Nginx模块介绍 nginx高度模块化,但其模块早期不支持DSO机制:1.9.11版本支持动态装载和卸载 模块分类: 核心模块:core module 标准模块: HTTP 模块: ngx_http_* HTTP Core modules 默认功能 HTTP Optional modules 需编译时指定 Mail 模块 ngx_mail_* Stream 模块 ngx_stream_* 第三方模块 二.ngx_http_core_module模块 ngx_http_core_module