一 、nginx http服务器的特色及优点
1、支持高并发:能支持几万并发连接
2、资源消耗少:在3完并发连接下,开启10个nginx线程消耗内存不到200MB
3、可以做http反向代理及加速缓存,即负载均衡,内置对RS节点服务健康检查功能
4、具备Squid等专业缓存软件的缓存功能
5、支持异步网络I/O事件模型epoll
二 、select和epoll对比
select和epoll对比如下表所示
select |
epoll |
|
性能 |
随着连接数增加,急剧下降。处理成千上万并发连接数时,性能很差。 |
随着连接数增加,性能基本上没有下降。处理成千上万并发连接时,性能很好。 |
连接数 |
连接数有限制,处理的最大连接数不超过1024。如果要处理超过1024个连接数,则需要修改FD_SETSIZE宏,并重新编译 。 |
连接数无限制。 |
内在处理机制 |
线性轮询 |
回调callback |
开发复杂性 |
低 |
中 |
三、nginx安装
安装nginx需安装pcre 、pcre-devel 、Open-ssl-devel
useradd nginx –s /sbin/nginx -M
[root@serverNFS_A nginx-1.6.3]#
./configure --prefix=/application/nginx-1.6.3
--user=nginx
--group=nginx
--with-http_ssl_module
--with-http_stub_status_module
make && make install
ln -s /application/nginx-1.6.3 /application/nginx
[root@web ~]# /app/nginx/sbin/nginx -t (检查配置文件)
nginx: the configuration file /app/nginx-1.15.2/conf/nginx.conf syntax is ok
nginx: configuration file /app/nginx-1.15.2/conf/nginx.conf test is successful
[root@web ~]# /app/nginx/sbin/nginx -v (查看版本)
nginx version: nginx/1.15.2
[root@web ~]# /app/nginx/sbin/nginx -V (查看编译时参数)
nginx version: nginx/1.15.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/app/nginx-1.15.2 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
临时关闭selinux #setenforce 0
三、常用nginx http功能模块 --详细讲解参考其他另一篇文章
http_core_module包括一些核心的http参数配置
http_access_module访问控制模块
http_gzip_module压缩模块
http_fastcgi_module fastcgi模块
http_proxy_module 代理模块
http_upstream_module 负载均衡模块
http_rewrite_module URL地址重写模块
http_limit_conn_module 限制用户的并发连接以及请求数
http_limit_req_module 定义的key限制nginx请求过程的速率
http_log_module 访问日志模块,指定格式记录nginx客户访问日志
http_auth_basic_module web认证,设置web用户通过账号和密码访问nginx
http_ssl_module 加密的http
http_stub_status_module 记录nginx基本访问状态信息