nginx的配置
配置
Nginx配置文件的位置
/usr/local/nginx/conf/nginx.conf
Nginx配置文件的组织格式
http -> 模块, http相关的通信设置
server模块 -> 每个server对应的是一台web服务器
location 模块
处理的是客户端的请求
mail -> 模块, 处理邮件相关的动作
常用配置项介绍
user nobody; # 启动之后的worker进程属于谁
- 错误提示: nginx操作xxx文件时候失败, 原因: Permission denied
- 将nobody -> root
worker_processes 1; # 设置worker进程的个数, 最大 == cpu的核数 (推荐)
error_log logs/error.log; # 错误日志, /usr/local/nginx
pid logs/nginx.pid; # pid文件, 里边是nginx的进程ID
# nginx的事件处理
events {
use epoll; # 多路IO转接模型使用epoll
worker_connections 1024; // 每个工作的进程的最大连接数
}
http->server -> 每个server模块可以看做一台web服务器
server{
listen 80; # web服务器监听的端口, http协议的默认端口
server_name localhost; # 对应一个域名, 客户端通过该域名访问服务器
charset utf8; # 字符串编码
location { // 模块, 处理客户端的请求
}
# 客户端 (浏览器), 请求:
http://192.168.10.100:80/login.html
# 服务器处理客户端的请求
服务器要处理的指令如何从url中提取?
- 去掉协议: http
- 去掉IP/域名+端口: 192.168.10.100:80
- 最后如果是文件名, 去掉该名字: login.html
- 剩下的: /
服务器要处理的location指令:
l ocation /
{
处理动作
}