nginx优点:
1.高并发,官方说支持5w并发连接数
2.内存消耗少(相比apache)
3.善于处理静态文件
4.支持多系统:Nginx代码完全用C语言从头写成,可以在各系统上编译并使用。
5.负载均衡功能很强大
nginx配置文件结构:
全局配置段
http配置段
server配置段(项目或应用)
location配置段(url配置)
1.全局配置段
* user 设置使用用户(worker)
* worker_processes 进行增大并发连接数的处理 跟 cpu 保持一致 八核设置八个
* error_log nginx 的错误日志
* pid nginx 服务启动时候 pid
* events 定义事件相关的属性
* worker_connections 一个进程允许处理的最大连接数
* use 定义使用的内核模型
2.http配置段
* sendfile on; # 开启高效文件传输模式。
* autoindex on; # 开启目录列表访问,合适下载服务器,默认关闭。
* tcp_nopush on; # 防止网络阻塞
* tcp_nodelay on; # 防止网络阻塞
* keepalive_timeout 120; # 长连接超时时间,单位是秒
* gzip on; # 开启 gzip 压缩输出 *
3.server配置段
listen属性 端口
server_name属性 域名 (优先使用完整样式www.example.com,然后使用前缀正则样式 *.example.com,最后使用后缀正则样式www.example.*)
root属性 表现形式: root /var/www/html;定义Server请求的html文件所在路径
index属性 表现形式: index index.html index.htm index.nginx-debian.html 定义响应后返回的文件名称或格式
4.location配置段
前提:根据请求url,获取uri(即除了域名/IP之外的部分),用于location匹配
匹配优先级:精确匹配 > 优先级匹配 > 正则匹配 (精确匹配和优先级匹配只要匹配到就结束匹配,而正则匹配会匹配到所有符合条件的,然后选取最长的那个)
5.alias和root的区别(两者的作用都是指向响应请求所用文件的路径)
root 表示location匹配内容的相对路径
alias 表示绝对路径
例如:
location /img/ {
alias(root) /var/www/image/
}
如果是alias:访问http://localhost/img/,nginx找/var/www/image/目录下的文件
如果是root: 访问http://localhost/img/,nginx找/var/www/image/img/目录下的文件