概述
Nginx 是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。
优点和缺点
-
优点:
- 轻量级:同比起 web 服务比 apache 占用更少内存及资源;
- 抗并发:nginx 处理请求异步非阻塞,而apache 阻塞型高并发下 nginx 能保持资源低消耗、高性能;
- 高度模块化:设计编写模块相对简单;
- 社区活跃:各种高性能模块出品迅速。
-
缺点:
- rewrite 功能不够强大;
- 模块也没有 apache 多。
Nginx 配置
nginx.conf 一般分为3部分:
- 使用配置
- 指定用户:user www;
- 指定进程数:worker_processes 1;
- 指定日志(可设置 debug\info\notice\warn\error 等级别):error_log /data/logs/nginx_error.log error;
- 指定pid路径:pid /app/nginx/nginx.pid;
- 指定文件描述符数量:worker_rlimit_nofile 51200;
- event 配置
- 使用的网络I/O模型:use epoll;
- 允许的连接数:worker_connections 51200;
- http 配置
- 引用一些基本的文件,比如 mime.type;
- 设置 http 的 type:application/octet-stream;
- 设置 http 连接时间:keepaliver_timeout;
- 设置压缩:gzip;
- 设置 host、目录、http错误页、使用php请求等。
常见问题
- 缺少 gcc 环境
解决方案:在yum源环境下安装gcc;
yum -y install gcc - 缺少 pcre 环境
解决方案:
yum -y install pcre-devel - 缺少 openssl-devel 环境
解决方案:
yum -y install openssl-devel