nginx高性能web服务器详解
本文最后更新于:2022年9月4日 下午
常见web服务器介绍
- Apache
- a patchy server
- 占据web服务器的半壁江山
- 开源
- Tomcat
- 轻量级应用服务器
- 无法满足复杂业务场景
- 免费、开源
- 体积小,易于安装部署
- Nginx
- 免费、开源、后来居上
- 高性能http服务器
- 功能多(包括支持反向代理、负载均衡、IMAP/POP3代理服务、SSL等功能)
- 常用功能:负载均衡、反向代理、web缓存
Nginx的安装
官网上的几个版本:
- Mainline version:目前主力在做的版本,开发版
- Stable version:最新稳定版,生产环境上建议使用的版本
- Legacy versions:遗留的老版本的稳定版
安装:
- 由于Nginx升级频繁,Linux下建议通过编译源码进行安装(gcc + automake)
- sudo apt install nginx 命令可以直接安装
- 安装完成后,运行 whereis nginx 以发现程序的安装位置
- pidof nginx可以定位Nginx的进程号
一些特殊文件:
- index.html:服务启动成功后默认显示的页面
- logs目录:服务器日志
- sbin目录:只有Nginx一个文件(可执行程序)
Nginx服务的启停控制
列出进程:
- pidof
- cat nginx.pid
- ps -ef | grep nginx
常用指令:
- kill signal pid 杀掉进程
- sudo nginx -t 测试Nginx配置文件语法
- sudo nginx -v 版本
- sudo systemctl start nginx 启动nginx
- sudo systemctl stop nginx 停止nginx
- sudo systemctl restart nginx 重启nginx
- sudo systemctl reload nginx 配置更改时,重新加载nginx
- sudo systemctl status nginx 查看Nginx状态
Nginx基础配置
nginx的主要配置都放在nginx.conf文件中,#后面的内容被注释
conf文件的结构:
- 全局块
- 默认配置文件从最开始到events之间的内容
- 包括运行Nginx的用户、允许的进程数、日志路径、配置引入等,影响nginx服务器整体运行
- events块
- 影响Nginx服务器与用户的网络连接,包括选择何种事件驱动模型处理连接请求、每个worker process可以同时支持的最大连接数等
- http块
- 代理、缓存、日志定义等功能在此配置
- 该块内可以包含自己的全局块,也可以包含server块
- server块
- 每个server块相当于一个虚拟主机,内部可以有多个主机联合提供服务,一起对外提供服务
- server块指令的作用域在本server块
- server块可以包含自己的全局块和多个location块
- location块
- 本质是server块的一个指令,由于重要性在此单列
- 作用:基于Nginx服务器接收到的请求字符串进行匹配,对特定请求进行处理
- 地址定向
- 数据缓存
- 应答控制等
- location url 匹配教程
nginx高性能web服务器详解
http://gls.show/p/913c096e/