• 高性能的 HTTP 和反向代理服务器,同时也是 IMAP/POP3/SMTP 代理服务器
  • Nginx 分为主进程(master process)和工作进程(worker process),每个进程中只有一个线程(也可以配置线程池),通过 IO 多路复用(底层使用 epoll/kqueue 等技术)和事件循环达到高并发。主进程负责总体协调工作,比如在配置文件更新后重新应用配置、协调哪个 worker process 应该退役等等。工作进程的个数一般设置为 CPU 的个数。
  • start nginx.exe:启动
  • nginx -h
  • nginx -s 信号:向正在运行的 nginx 进程发送信号,信号包括:
    • stop:立即关闭
    • quit:安全关闭(处理完请求后在停止服务)
    • reload:重载配置文件
    • reopen:重新打开日志文件,实现日志分隔的效果
  • nginx -t:检查配置文件是否存在语法错误
  • nginx -v:查看当前 nginx 的版本信息

Nginx 的配置文件 nginx.conf

  • 虚拟主机是用来映射网站目录和网站代码文件夹的关系
  • 可以通过 server 配置,每个 server 表示一个虚拟机主机

动静分离

  • 当用户请求 js、css 等静态资源时有当前 Nginx 服务器处理,请求 php 动态脚本代码时由其他的服务器处理(反向代理)
  • 反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连的客户端,此时代理服务器对外就表现为一个服务器
  • 代理服务器可以作为前端服务器处理静态资源

Nginx 的负载均衡