Nginx
Nginx 主要应用场景
- 静态资源服务
- 反向代理(缓存、负载均衡)
- API 服务
Nginx 的大规模使用的原因
- 互联网的数据量快速增长
- 摩尔定律的失效。
- 操作系统、大量软件没有做好服务于多核 CPU 的准备。譬如:低效的 Apache 一个连接对应一个进程。
Nginx 优势
- 高并发,高性能
- 可扩展性好
- 高可靠性
- 热部署
- BSD 许可证
Nginx 的组成
- 二进制可执行文件:由各模块源码编译出的一个文件。
- 配置文件:控制 Nginx 的行为。
- 访问日志:记录每一条 http 请求信息。
- 错误日志:定位问题。
编译 Nginx
下载
[root@localhost test]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
[root@localhost test]# tar -xzf nginx-1.14.2.tar.gz
各目录简介
[root@localhost test]# cd nginx-1.14.2/
[root@localhost nginx-1.14.2]# ls
# Nginx配置文件vim下语法高亮显示
[root@localhost nginx-1.14.2]# cp -r contrib/vim/* /usr/share/vim/vimfiles/
Configure
[root@localhost nginx-1.14.2]# mkdir -pv /home/geek/nginx
[root@localhost nginx-1.14.2]# ./configure --prefix=/home/geek/nginx
中间文件介绍
[root@localhost nginx-1.14.2]# ls objs/
autoconf.err
Makefile
ngx_auto_config.h
ngx_auto_headers.h
ngx_modules.c # 决定哪些模块被编译到Nginx中
src
编译
[root@localhost nginx-1.14.2]# make
安装
[root@localhost nginx-1.14.2]# make install
启动
[root@localhost nginx]# cd /home/geek/nginx/sbin/
[root@localhost sbin]# ./nginx
Nginx 配置语法
- 配置文件由指令与指令块构成。
- 每条指令以分号结尾,指令与参数间以空格符号分隔。
- 指令块以大括号将多条指令阻止在一起。
- include 语句允许组合多个配置文件以提升可维护性。
- 使用#符号添加注释,提高可读性。
- 使用 $ 符号使用变量。
- 部分指令的参数支持正则表达式。