nginx入门
主要功能
静态文件服务器、反向代理、负责均衡器
基本组成
一个master进程,多个worker进程
master进程主要负责读配置文件与维护worker进程
worker进程实际负责处理请求,数目可固定也可根据cpu核数动态调整
基本命令
nginx -t 查看nginx.conf配置语法是否正确
nginx -s reload 重新加载nginx配置文件(配置热加载,通过关闭旧worker,新建新worker完成)
nginx -s stop 快速关闭
nginx -s quit 优雅关闭(工作进程会处理完已到达的请求)
nginx -s reopen 重新打开日志文件
配置文件结构
1、配置文件由指令组成,指令又分为普通指令与块指令
2、普通指令由name、空格、parameter、分号组成
3、块指令由{}括起来的多条指令组成,块指令内部又可看作一个指令上下文
4、不在任何其它指令上下文的指令在main上下文中
5、#标识一行为注释
例如:events、http指令在main上下文中
server指令在http指令上下文中,location指令在server指令上下文中
作为静态内容服务器
一个基本的配置如下
#nginx启动用户
user nginx;
#工作线程数
worker_processes 1;
events {
#每个进程处理的连接数
worker_connections 1024;
}
http {
#多个server之间通过监听的端口区分,可监听多个端口
server {
#不写默认监听80
listen 80;
# 请求到达时,通过URI匹配location
location / {
#静态文件路径
root /data/www;
}
location /image/ {
root /data;
}
}
}
实际文件位置:/data/www/index.html /data/image/1.jpg
注意:访问http://host/image/时会匹配第二个location,但是会去/data目录下找image目录,而不是直接在/data目录下
作为代理服务器
一个基本的配置如下
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
# 与proxy_pass一致
upstream test_proxy {
server localhost:8888;
server localhost:8887;
}
server {
# 不写默认监听80
listen 80;
# 注意必须写http://
location / {
proxy_pass http://test_proxy;
}
}
}
通过upstream、proxy_pass两个指令完成反向代理+负载均衡
本质通过nginx转发请求到指定ip+port,默认策略为轮询
注意:若要完全HA,得解决nginx单点问题,可通过KeepAlived实现
其它
当访问失败时,可查看log/error.log查看nginx实际解析的路径

浙公网安备 33010602011771号