码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-03-04 16:33:45      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:forward   form   使用   start   live   not   cat   解析   数据   

目录:

       一、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查看

 

 

 

 

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

标签:forward   form   使用   start   live   not   cat   解析   数据   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!