nginx配置初探

文件分布

我们使用tree命令,可以看到nginx的文件如下图分布。

tree命令原本是在linux中存在,我们在mac中使用需要下载,在这里我用
brew install tree 来下载它,之后我们进入/usr/local/etc/nginx然后使用tree就能得到上述内容

简单的说一下
conf.d里面包含了php-fpm,php-fpm是一个fastCGI进程管理器/引擎:即对动态脚本进行实际解析的守护进程,由fastCGI启动。这里,php-fpm就是支持解析php的一个fastCGI进程管理器/引擎。

fastCGI是由CGI(common gateway interface,通用网关接口)发展而来,是http服务器(nginx、apache)和动态脚本语言(php)之间的通信接口。记住,fastCGI只是一个接口。
fastCGI的优点:fastCGI采用C/S结构,可以将http服务器和动态脚本解析服务器分离(二者可以部署在不同的服务器上),让http服务器专一处理静态请求和转发动态请求到脚本解析服务器;脚本解析服务器则专一处理动态脚本的请求。

logs文件夹存储了日志
nginx.conf是主要的nginx服务器配置文件,我们等下会着力学习。
scgi_params则是scgi的配置文件

SCGI(Simple Common Gateway Interface)与FastCGI相似,也是CGI的一个替代协议,SCGI源于Python社区,
SCGI模块能够使得Nginx与SCGI进程进行互相配合工作,并且能够控制将什么参数传递到SCGI进程,本模块Nginx服务器于0.8.42版本开始提供使用。
如想进一步了解点击这里

sites-available则是管理大量站点时服务器的一种通用配置。
sites-enabled则是一种单独配置,需要使用enabled时,需要使用ln命令软连接到相应网站。

ln是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
范例 :
  将档案 yy 产生一个 symbolic link : zz
  ln -s yy zz
  将档案 yy 产生一个 hard link : zz
  ln yy xx
具体的可以看这里

ssl模块 我就不多说了具体的使用可以看[这里]
(http://www.cnblogs.com/yanghuahui/archive/2012/06/25/2561568.html)

uwsgi_params则是用来部署和配置python应用
win-utf 字体设置

配置说明

nginx.conf是主配置文件,默认配置去掉注释之后的内容如下:
worker_processes 1;

worker_process的配置

worker_process表示工作进程的数量,一般设置为cpu的核数
worker_connections表示网站最大并发连接数,默认为1024.如果你的网站访问量很大,则需要调高worker_connections的数值。当然,你一定要按照你自己的实际情况而定,也不能设置太大,不能让你的CPU跑满100%。

如果nginx 中worker_connections 值设置是1024,worker_processes 值设置是4,按反向代理模式下最大连接数的理论计算公式:
最大连接数 = worker_processes * worker_connections/4
查看相关资料,生产环境中worker_connections 建议值最好超过9000,计划将一台nginx 设置为10240,再观察一段时间。

server模块

listen:8080 服务器默认使用8080端口 可以自己随意修改,只要别占用其他程序的端口即可

这里所指的是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535。mac中查看端口的命令为:lsof。这个命令会刷出一屏幕的端口及其占用的文件。也可以使用netstat命令来查看,该端口是否打开
netstat -nat | grep <端口号> ,例如:netstat -nat | grep 3306
如果想要知道的更多可以点击这里

server_name localhost 用户名称,如果在服务器在自己主机上,可以使用http://localhost 来访问,随意更改

定义了主页为index或者index.html或者index.htm,如有必要随意修改

定义了如上的错误代码,服务器重定向的网页分别为501.html或502.html或503.html或504.html

mime.types

文件扩展名与文件类型映射表,nginx根据映射关系,设置http请求响应头的Content-Type值。当在映射表找不到时,使用nginx.conf中default-type指定的默认值。例如,默认配置中的指定的default-type为application/octet-stream。

下面截一段mime.types定义的文件扩展名与文件类型映射关系,完整的请自行查看:

Tagged:

发表评论

电子邮件地址不会被公开。 必填项已用*标注