Nginx 是一台高性能 Web 服务器,它应用了非常少的系统资源。
一、装置
1、装置centos中装置ngnix
1、应用rpm来装置sudo yum install nginx2、编译二进制版本来装置sudo vi /etc/yum.repos.d/nginx.repo执行装置sudo yum install nginx
二、配置指南
根本配置格局。
Nginx 全局配置参数
应用 include 文件。
HTTP 的 server 局部
虚构服务器局部。
location一一-where, when, how
mail的serer 局部。
残缺的示例配置文件。
1、Nginx 全局配置参数
全局配置:就是设置对整个ngnix所有中央都失效的配置
例:
user nobody; #配置用户和组worker_processes 1; #容许生成的过程数,默认为1 error_log logs/error.log; #谬误日志门路。error_log logs/error.log notice; #谬误日志门路,告诉级别。error_log logs/error.log info; #谬误日志门路,信息级别。error_log logs/error.log debug; #谬误日志门路,debug级别批改编译时进行配置。pid logs/nginx.pid; #指定 nginx 过程运行文件寄存地址 events { use /dev/proll #事件驱动模型select|poll|kqueue|epoll|resig worker_connections 1024; #最大连接数,默认为512}
2、应用 include 文件。
http { include mime.types; #文件扩展名与文件类型映射表 server {}}
mime.types文件内容
types { text/html html htm shtml; text/css css; text/xml xml; 等等 }
3、HTTP 的 server 局部
1、客户端指令
2、文件I/O指令:
3、Hash指令:为变量分配内存
4、socket指令:
4、虚构服务器局部
任何由关键字server开始的局部都被称作“虚拟机服务器”局部,server的作用是依据不同的server_name指令逻辑宰割资源,listen指定具体的IP地址/端口组合或者Unix域套接字门路:
例:
listen address[:port] listen portlisten unix:path;
5、Locations-where,when,how
location指令能够用于server局部,用于对匹配的url进行重定向、访问控制等。
= 精准匹配并终止搜寻
~ 辨别大小写
~* 不辨别大小写
^~ 最佳匹配,对匹配的不在进行上面的匹配了优先级高于正则表达式
残缺示例:
全局配置
user www; //worker 过程的用户和组
worker_processes 12; //启用的过程
error_log /var/log/nginx/error.log; //记录谬误的级别 debug info notice warn error、crit alert emerg
pid /var/run/nginx . pid; //记录主过程id的文件
events { use /dev/poll; worker_connections 2048; }http { include /opt/local/etc/ng nx/mime.types; #文件扩展名与文件类型映射表 default_type application/octet-stream; #指定默认解决的文件类型能够是二进制 sendfile on; #容许文件复制 tcp_push on ; #它可能使得 Nginx 个数据包中尝试发送响应头以及在数据包中发送 个残缺的文件,配合sendfile on;应用 tcp_nodelay on; #启用或者禁用 TCP NODELAY 选项,用于 keep-alive 连贯 keepalive_timeout 65; #该指令指定 keep-alive 连贯继续多久 个参数也能够设置,用于在响应头中设置“ keepalive ”头 server_names_hash_max_size 1024 ; #该指令指定 server_name 散列表的最大大小 server { #则应用default_server.如果没有指定default_server,则会抉择第一个可用的server.咱们能够指定对于没有匹配的host值时,返回谬误到客户端.能够用来避免他人把垃圾流量转到你的网站。 listen 80 ; #指定端口 return 444; } server { listen 80 ; server_name www.example.com; #指令逻辑宰割的资源 location / { try_ files $uri $uri/ @mongrel; #此处示意会匹配/ 目录下的所有文件进行解决而后返回给/ url 示意其余 1.文件/opt/html/images/test.gif 2.文件夹 /opt/html/images/test.gif/下的index文件 3. 申请127.0.0.1/images/default.gif 4.其余注意事项 1.try-files 如果不写上 $uri/,当间接拜访一个目录门路时,并不会去匹配目录下的索引页 即 拜访127.0.0.1/images/ 不会去拜访 127.0.0.1/images/index.html location @mongrel { #如果匹配不上的url就应用这个 proxy_pass http : //127.0.0.1:8080; } }}