1 Nginx入门教程
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个IMAP/POP3/SMTP 代理服务器。
Nginx 特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好。Nginx 由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过配置文件将客户端请求映射到一个 location block(location 是 Nginx配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的工作。
Nginx 相对于 Apache 优点:
1) 高并发响应性能非常好,官方 Nginx 处理静态文件并发 5w/s
2) 反向代理性能非常强。(可用于负载均衡)
3) 内存和 cpu 占用率低。(为 Apache 的 1/5-1/10)
4) 对后端服务有健康检查功能。
5) 支持 PHP cgi 方式和 fastcgi 方式。
6) 配置代码简洁且容易上手。
2. Nginx 工作原理及安装配置
Nginx 由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个 location block(location 是 Nginx配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的工作。
Nginx 的模块从结构上分为
核心模块、基础模块和第三方模块:
核心模块:HTTP 模块、 EVENT 模块和 MAIL 模块
基础模块: HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite模块,
第三方模块:HTTP Upstream Request Hash 模块、 Notice 模块和 HTTP Access Key模块。
1.1 Nginx下载安装
1、Nginx下载:nginx-1.13.0.tar.gz,下载到:/usr/local/software/
wget http://nginx.org/download/nginx-1.13.0.tar.gz
2、Nginx解压安装:
tar -zxvf nginx-1.13.0.tar.gz -C ./
3、Nginx编译
./configure
报错
- 解决./configure: error: C compiler cc is not found错误:
错误原因:缺少编译环境,安装编译源码所需要的工具和库:
执行命令:yum install gcc gcc-c++ ncurses-devel perl
再次编译:./configure --prefix=/usr/local/nginx
- 解决./configure: error: the HTTP rewrite module requires the PCRElibrary.错误:
错误原因:缺少HTTP rewrite module模块,禁用或者安装所需要的模块。我们选择安装模块:
执行命令:yum install pcre pcre-devel
- 解决./configure: error: the HTTP gzip module requires the zliblibrary.错误:
错误原因:缺少HTTP zlib类库,我们选择安装模块:
执行命令:
yuminstall zlib gzip zlib-devel
4.编译成功
5.安装Nginx:
安装命令:make & make install
1.2 Nginx启动
1、查看安装目录:cd
conf 存放配置文件
html 网页文件
logs 存放日志
sbin shell启动、停止等脚本
2、启动nginx
查看进程
常见问题:
解决nginx:[emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)错误:
错误原因:不能绑定80端口,80端口已经被占用。
3、停止nginx,重新加载配置文件
执行命令:kill –INT进程号
启动成功:
重新读取配置文件:
nginx-s reload
4、Nginx信号控制
TERM, INT |
快速停止(杀死进程) |
QUIT |
优雅的关闭进程,即等请求结束后再关闭 |
HUP |
改变配置文件,平滑的重读配置文件 |
USR1 |
重读日志,在日志按月/日分割时有用 |
USR2 |
平滑的升级 |
WINCH |
优雅关闭旧的进程(配合USR2进行升级) |
5.打开浏览器
1.3常用命令
进去nginx的安装目录
进去sbin
常用命令
启动 ./nginx 检查 nginx.conf配置文件 ./nginx -t 重启 ./nginx -s reload 停止 ./nginx -s stop