Nginx是跨平台服务器,可运行在: Linux MaxOS Windows ...
对于高效处理大规模并发连接,它支持linux上的epoll(linux 2.6以上版本内核才支持epoll), Solaris上的event ports 等。
一、为什么用nginx?
1.更快
- 单次请求得到更快地响应;
- 高峰数以万计并发请求,比其他web服务器更快地响应请求;
2.高扩展性
模块化、 低耦合、 第三方模块。
3.高可靠性
每个worker进程相对独立,master进程在1个worker进程出错时,可以快速“拉起”新的worker子进程提供服务;
4.低内存消耗
10000个非活跃的 http keep-alive连接(http1.1中默认开启keep-alive,为了避免服务器和客户端重复建立连接)在nginx中,仅仅消耗2.5MB内存,这是支持高并发的基础;
5.单机支持10万以上并发连接(理论上nginx支持的并发连接上限取决于内存)
6.热部署
不停服务就可以更新配置、更换日志文件等功能
二、使用nginx的必备软件
gcc编译器(编译c语言程序)
pcre库(该库支持正则表达式)
zlib库(http包的内容做gzip压缩)
openssl开发库(更安全的ssl协议传输http)
三、nginx的命令行控制
启动方式:直接执行nginx二进制程序 /usr/local/nginx/sbin/nginx -c /tmp/nginx.conf
快速停服务:/usr/local/nginx/sbin/nginx -s stop master进程收到信号后立刻跳出循环;
优雅停服务:正常完成当前请求后再停服务: /usr/local/nginx/sbin/nginx -s quit
会首先关闭监听端口,停止接受新的连接,然后把当前正处理的连接处理完毕,最后退出进程;
重读配置并生效:/usr/local/nginx/sbin/nginx -s reload