Nginx从入门到实战
什么是Nginx,我们为什么要使用nginx。
- Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器
代理如何理解
-
代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
-
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
nginx 安装-- 编译 很简单–》》 这里不介绍。
nginx 基础概念
master主要管理worker进程
- 接收来自外界的信号;
- 向各worker进程发送信号;
- 监控worker进程的运行状态;
- 当worker进程退出后(异常情况下),会自动重新启动新的worker进程;
发送信号
- kill -QUIT 进程号 安全停止
- kil -TERM 进程号 立即停止
停止nginx
- ./nginx -s stop 停止
- ./nginx -s quit退出
- ./nginx -s reload 重新加载nginx.conf
Nginx 如何配置,Nginx配置流程、Nginx匹配优先级
main(全局设置)
日志:
- 通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等;
配置
events设定nginx的工作模式及连接数上限
http 服务器相关属性
server(虚拟主机设置)
常用配置 Location规则
- 精确匹配 location = /
- uri配置 location ^~ /static/
- 正则匹配location ~* .(gif|png|css|js)$
细节:
- ~ 开头表示区分大小写的正则匹配
- ~* 开头表示不区分大小写的正则匹配
- !和!*分别为区分大小写不匹配及不区分大小写不匹配的正则