Nginx初探
Nginx是一款免费开源的高性能HTTP服务器及反向代理服务器,也可以作为邮件服务器。他的官网是nginx官网以及wiki官网
nginx源码下载地址:Nginx版本库
Nginx服务器的安装部署
$sudo apt-get install nginx
安装完成后即可检查版本和查看运行情况(有一个主线程和几个工作线程):
直接运行二进制文件即可启动Linux服务器:
/usr/sbin/nginx -h //查看帮助
/usr/sbin/nginx //启动服务
/usr/sbin/nginx -s stop //停止服务
linux的配置文件路径:/etc/nginx/nginx.conf
,内容可如下:
user nobody nobody //配置用户(组),只有被设置的用户才有权限启动Nginx
worker_processes auto; //配置进程数
pid /run/nginx.pid //主进程号存放路径
多个进程同时accept可能导致惊群现象,但在Linux新的内核版本中已经解决这个问题。不过epoll_wait依然会:“惊群”,看看nginx是怎么解决它的
基础配置方法看课本2.4节
nginx服务器架构初探
Nginx涉及到的模块分为核心模块,标准HTTP模块,可选HTTP模块,邮件服务模块以及第三方模块。
网络通信中的四组概念(针对客户端服务端的整体而言,与IO模型对比):
- 同步阻塞方式:客户端等服务端结果,服务器等IO结果再返回;
- 同步非阻塞方式:客户端等服务端结果,服务端不等IO,等IO好了之后返回;
- 异步阻塞方式:客户端不等服务端,服务端等IO;
- 异步非阻塞方式:都不等。
Nginx服务器的高级配置
Nginx服务器的gzip压缩
Nginx服务器的rewrite功能
Nginx服务器支持设置一组服务器作为后端服务器。