为什么80%的码农都做不了架构师?>>>   

上一篇搭建了nginx+php基本环境,这一篇专门来学习nginx配置文件,以及怎样让nginx支持php,nginx的配置文件结构类似下图这样的结构:

配置文件主要参照编译完成后生成的默认配置文件。

主模块的配置选项

user指令设置进程以什么用户运行,在源码编译安装时指定的nginx用户,如果在编译时没有指定,默认是nobody账户,在配置文件中此行处于注释状态,  user 指令可以设置两个参数,第一个指定进程所属用户,第二个是可选,指定进程所属组

user  nginx nobody;

设置工作进程数,一个工作进程为一个单线程,在CPU密集型环境中,可以设置worker_processes数目为CPU核数

worker_processes  4;

指定nginx错误日志文件的位置,如果要禁止错误日志使用error_log /dev/null,error_log可以存在于不同的字段main、http、server等,文件后面可以指定记录的日志的默认等级。

error_log  logs/error.log;

设置pid文件路径,可以使用kill命令发送相关信号

pid        logs/nginx.pid;

event模块配置选项,event模块主要控制nginx处理连接的方式

events {

#如果在configure时指定的不止一个事件模型,可以通过use告诉nginx要使用哪一个模型:seletc、poll、kqueue、epoll、rtsig、/dev/poll、eventport等

use epoll;

#worker_connections和worker_processes可以计算你的理论最大链接数, worker_connections*worker_processes

worker_connections  1024;

}

http模块里面主要是对http服务器相关属性进行设置

http {

#可以用include指令包含一些其他文件,支持通配符,可以使用绝对路径,也可以使用相对路径,相对路径以nginx.conf为根据

include       mime.types;

#设置默认的MIME类型

default_type  application/octet-stream;

#描述记录日志的格式,在定义格式时可以使用一些变量,各个变了的含义可以从各个模块汇总查找

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

#指定访问日志的路径和格式,缓冲区大小

access_log  logs/access.log  main;

#sendfile拷贝文件在内核态完成,更加高效

sendfile        on;

#tcp_nopush     on;

#可以设置两个值,第一个表示客户端与服务器长连接的超时时间,超过这个时间,服务器将关闭连接。第二个值指定的应答头中keep-alive中timeout的值,让浏览器知道什么时候关闭连接。

keepalive_timeout  65;

#开启gzip压缩

gzip  on;

#在三次握手时,发送给客户端应答后的超时时间,目前还没进入连接状态,只完成了两次握手,如果在规定时间没收到应答包,nginx将关闭链接

send_timeout 30

server {

xxx

server模块嵌在http模块中,主要用来配置虚拟主机

server {

#指定server字段中可以被访问到的ip地址及端口

listen       80;

#将http请求的主机头与server中的server_name参数进行匹配,并找出第一个结果,如果没有server_name参数匹配上,则第一个出现listen的server将被匹配,多域名用空格分割

server_name  www.nginx.com;

#设个指令是应答头重的content-type字段使用指定的编码集,off表示不在应答头重添加content-type信息

charset off;

#指定www.nginx.com域名的访问日志路径及格式

access_log  logs/host.access.log  main;

#如果在url中没有指定文件,则设置一个默认主页,可以设置多个文件,空格分开,可以在http、server、location中设置

index  index.php index.htm;

#根据URL的不同需求进行配置,可以使用字符串和正则匹配,最确切的匹配被使用,搜索到第一个后会停止

# ~* 不区分大小写;~ 区分大小写;^~ 禁止在字符串匹配后检查正则;= 在URL和location之间精确匹配,匹配完成后不做额外搜索。

location /i/ {

#请求到达后的文件根目录,在请求中root会把location匹配的值加到root指定的值后面,请求/i/a.php,则会是/html/i/a.php响应

root   html;

#在location中设置index

index  index.html index.htm;

}

#为错误代码指定相应的错误界面,可以用在http、server、location字段中。

error_page  404              /404.html;

# redirect server error pages to the static page /50x.html

error_page   500 502 503 504  /50x.html;

#精确匹配50x.html,真实响应是/html/50x.html

location = /50x.html {

root   html;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

location ~ \.php$ {

proxy_pass   http://127.0.0.1;

}

#配置php脚本传至fastcgi

location ~ \.php$ {

root           html;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

#/scripts是php脚本所在的目录

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

include        fastcgi_params;

}

#拒绝访问.htaccess文件

location ~ /\.ht {

deny  all;

}

}

参考连接:http://www.howtocn.org/nginx:directiveindex

http://wiki.nginx.org/Main

http://fak3r.com/2011/09/27/howto-install-php5-fpm-on-debian-squeeze/

转载于:https://my.oschina.net/guol/blog/73283

Nginx配置文件粗解相关推荐

  1. nginx配置文件祥解

    nginx配置文件祥解 nginx配置说明---------------------------- #运行用户 user  www www; #启动进程 worker_processes  2; #一 ...

  2. 配置nginx方向代理,实现URL隐形转发 (附带nginx配置文件详解)

    配置nginx方向代理,实现URL隐形转发 (附带nginx配置文件详解) 免费领取满减阿里云红包 项目名称:[域名解析–隐形URL转发]–centos 7.3 环境: 阿里云服务器之上有多个tomc ...

  3. nginx学习简介-安装-启动-命令-nginx配置文件详解

    nginx是什么:nginx是一个高性能的HTTP和反向代理web服务器.同时也提供了IMAP/POP3/SMTP服务. nginx特点:开源.占内存少.轻量级.高性能(有报告表面nginx能支持高达 ...

  4. node binding.gyp 配置文件粗解

    我感觉谷歌的官方文档本身就不完善,导致我没办法详解,很多配置都是看 别人写的 慢慢摸索出来的.windows篇章里,我实现了一个海康node插件,linux版里,我同样实现了这个功能. {" ...

  5. nginx 配置文件详解

    nginx 配置文件分为三部分: 一.全局块:从配置文件开始到events块之间的内容,主要会配置一些影响nginx服务器整体运行的配置指令,主要包括配置运行nginx服务器的用户(组).允许生成的w ...

  6. Nginx 配置文件详解(一)

    文章目录 Nginx 配置文件内容 Nginx 配置文件基本结构 Nginx 配置文件详细信息 全局块配置 配置运行 Nginx 服务器用户(组) 配置 worker processes 相关 配置 ...

  7. nginx配置文件详解(三)

    nginx配置文件详细解析 nginx安装目录:  /usr/local/nginx 配置文件:  /usr/local/nginx/conf 目录下的 nginx.conf文件 nginx优化方法 ...

  8. window7下nginx配置文件详解

    官网:http://nginx.org 1,下载安装包并解压到目录,然后,在cmd中执行下列操作(双击应该也行): cd nginx start nginx 这样,nginx 服务就启动了.打开任务管 ...

  9. nginx 访问图片404_Nginx学习笔记(二、Nginx配置文件详解) - 被猪附身的人

    nginx的启停控制 1.Nginx信号控制: nginx中可以通过发送信号的方式来控制服务器的启停等,但要达成这些操作首先要知道nginx的PID. 获取pid的方式有两种: 利用linux的ps命 ...

最新文章

  1. 一篇文章让你读懂Pivotal的GemFire家族产品
  2. PNAS “深度学习的科学”论文合集导读
  3. Netty和RPC框架线程模型分析
  4. DNS服务器以及正向名称解析机制
  5. python才不会从入门到放弃_一步一步理解 python web 框架,才不会从入门到放弃 -- 启程出发...
  6. 中止是怎么用的_多士炉怎么用 使用多士炉注意事项
  7. 【Java】浅析八种基本类型和包装类型
  8. 天才程序员的传奇人生:项目被总统抢走,在瞄准镜下写完代码后被捕入狱
  9. docker容器内没有yum命令_为什么不建议把数据库部署在Docker容器内?
  10. Magento2创建自定义Widget 并通过添加图片选择器插入图片
  11. 全局索引 前缀索引_面试系列 索引种类与优化
  12. 使用python爬取网站源代码
  13. 由于计算机是中文名ccs软件安装出现错误_UG软件不会解决的二十个问题解决方法总结...
  14. air724UG + Luat玩转物联网(一) 环境搭建及固件烧录
  15. python 安全编码代码审计
  16. 数字转换成汉语中人民币的大写(javascript正则)
  17. iPone实现快速切换表情输入法?
  18. OA项目之我的会议(会议排座送审)
  19. 300秒就完成第一超算1万年的计算量,量子霸权真时代要来了吗
  20. 固态硬盘跟机械硬盘的区别

热门文章

  1. python括号匹配算法_使用Python的栈实现括号匹配算法
  2. windows连linux工具,Windows连接Linux工具
  3. android 流式编程,流式编程
  4. 2012r2备域控服务器搭建,Windows2012R2备用域控搭建
  5. 第十六届全国大学生智能车竞赛线上比赛-赛前开题
  6. 关于承办第十六届全国大学生智能汽车竞赛华南赛区的申请
  7. 设计基于MAX1240,MAX5353的ADDC模块STC8G1KSOP8
  8. 计算机一级考试试题 文明,XP计算机文明基础模拟试题库1.doc
  9. html设置 header,http设置header
  10. lepus mysql 复制监控_sql_mode=ONLY_FULL_GROUP_BY 导致lepus监控mysql5.7报错