工作原理:
Nginx真正处理请求业务的是Worker之下的线程。worker 进程中,ngx_worker_process_cycle()函数就是这个无限循环的处理函数。在这个函数中,一个请求的简单处理流程如下:
操作系统提供的机制(例如 epoll, kqueue 等)产生相关的事件。 --》接收和处理这些事件,如是接收到数据,则产生更高层的 request 对象。 --》 处理 request 的 header 和 body。 -->产生响应,并发送回客户端。 -->完成 request 的处理。 -->重新初始化定时器及其他事件。
Nginx常用操作
常用到的命令如下:
nginx -s stop :快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
nginx -s quit :平稳关闭Nginx,保存相关信息,有安排的结束web服务。
nginx -s reload :因改变了Nginx相关配置,需要重新加载配置而重载。
nginx -s reopen :重新打开日志文件。
nginx -c filename :为 Nginx 指定一个配置文件,来代替缺省的。
nginx -t :不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
nginx -v:显示 nginx 的版本。
nginx -V:显示 nginx 的版本,编译器版本和配置参数。
sudo service nginx status :查看nginx运行状态
sudo service nginx restart:重启
pkill -9 nginx:杀掉nginx运行进程