分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

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

发布时间:2023-09-06 01:44责任编辑:郭大石关键词:配置

目录:

一、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中,可以使用不同的设置来运行多个进程池。 这些设置可以针 对每个进程池

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved