一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情
Nginx 是什么
Nginx 是高性能的 HTTP 和反向代理服务器。
在开发阶段,我们常常会让用户的请求直接到达 node.js 或者是 Tomcat 服务器,但实际部署时都是先到达 Nginx, node.js 或者 Tomcat 位于 Nginx 之后。这是因为 Nginx 的高性能、高可配置、高稳定性。
Nginx 的优势
- 高性能:更快的响应,表现在两方面
- 单次请求会得到更快的响应
- 高峰期,大量的请求,Nginx可以比其他web服务器更快地响应请求
-
低内存消耗:一般情况下,10000个非活跃的 HTTP 连接在 Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础。
-
高并发:这是Nginx一个非常重要的特性。Nginx可以轻松的达到数千万的并发连接。
-
高扩展性: Nginx模块化的设计使得它的生态圈非常的好,所以可扩展性好。
-
高可靠性: Nginx的高可靠性体现在能持续不间断能运行数年,而很多web服务器运行几周或者几月就需要重新启动。 Nginx 的高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性,还有官方提供的常用模块都非常稳定,master 进程在1个 worker 进程出错时可以快速 fork 新的 worker 子进程提供服务。
Nginx 常用命令
在 Linux 中,我们使用命令行来控制 Nginx 服务器的启动与停止、重新加载文件。
主要的文件目录如下:
├── conf
│ ├── nginx.conf 默认配置文件
├── html
│ ├── 50x.html
│ ├── index.html 默认首页
├── logs
│ ├── access.log 访问日志
│ └── error.log 错误日志
└── sbin
└── nginx 二进制程序
在sbin文件夹下执行以下命令。
- 默认方式启动
直接执行二进制程序,例如:
```
./nginx
```
2. 指定配置文件 不指定配置文件,默认使用conf目录下的nginx.conf配置文件。使用-c参数指定另外的配置文件。
./nginx -c /tmp/nginx.conf
- 显示版本信息
./nginx -v
- 快速停止服务 -s 参数告诉 Nginx 向正在执行的 Nginx 服务发送信号量,Nginx 通过 nginx.pid 文件中得到 master 进程的进程 ID,再向运行中的 master 进程发送 TERM 信号来快速地关闭 Nginx 服务。
./nginx -s stop
- 优雅停止服务 等待处理完当前所有请求在停止服务。
./nginx -s quit
- 使运行中的 nginx 重读配置并生效
./nginx -s reload