Nginx 入门

82 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情

Nginx 是什么

Nginx 是高性能的 HTTP 和反向代理服务器。

未命名文件 (6).jpg

在开发阶段,我们常常会让用户的请求直接到达 node.js 或者是 Tomcat 服务器,但实际部署时都是先到达 Nginx, node.js 或者 Tomcat 位于 Nginx 之后。这是因为 Nginx 的高性能、高可配置、高稳定性。

Nginx 的优势

  1. 高性能:更快的响应,表现在两方面
  • 单次请求会得到更快的响应
  • 高峰期,大量的请求,Nginx可以比其他web服务器更快地响应请求
  1. 低内存消耗:一般情况下,10000个非活跃的 HTTP 连接在 Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础。

  2. 高并发:这是Nginx一个非常重要的特性。Nginx可以轻松的达到数千万的并发连接。

  3. 高扩展性: Nginx模块化的设计使得它的生态圈非常的好,所以可扩展性好。

  4. 高可靠性: 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文件夹下执行以下命令。

  1. 默认方式启动

直接执行二进制程序,例如:

 ```
 ./nginx
 ```

2. 指定配置文件 不指定配置文件,默认使用conf目录下的nginx.conf配置文件。使用-c参数指定另外的配置文件。

./nginx -c /tmp/nginx.conf
  1. 显示版本信息
 ./nginx -v
  1. 快速停止服务 -s 参数告诉 Nginx 向正在执行的 Nginx 服务发送信号量,Nginx 通过 nginx.pid 文件中得到 master 进程的进程 ID,再向运行中的 master 进程发送 TERM 信号来快速地关闭 Nginx 服务。
./nginx -s stop
  1. 优雅停止服务 等待处理完当前所有请求在停止服务。
./nginx -s quit
  1. 使运行中的 nginx 重读配置并生效
./nginx -s reload