1nginx基础
1.1四个版本
-
Nginx 开源版:
-
特点:这是 Nginx 的官方开源版本,完全免费,功能强大,支持高并发连接和低内存消耗。
-
适用场景:适用于大多数需要高性能 Web 服务器和反向代理的场景。
-
网址:nginx
-
-
Nginx Plus 商业版:
-
特点:这是 Nginx 的商业版本,提供了额外的功能和支持服务,如高级负载均衡、会话持久性、动态配置更新、实时监控和增强的安全性。
-
适用场景:适用于企业级应用,需要高级功能和技术支持的场景。
-
网址:https://www.nginx.com
-
-
OpenResty:
-
特点:OpenResty 是基于 Nginx 和 LuaJIT 的 Web 平台,集成了大量的 Lua 库和第三方模块,支持通过 Lua 脚本扩展功能。
-
适用场景:适用于需要高度定制化和动态功能的 Web 应用,如 API 网关、动态 Web 服务等。
-
网址:http://openresty.org
-
-
Tengine:
-
特点:Tengine 是由淘宝网发起的 Web 服务器项目,基于 Nginx 开发,增加了一些高级功能和优化,如动态模块加载、更灵活的配置等。
-
适用场景:适用于需要高性能和高扩展性的 Web 服务,特别是大型网站和高流量场景。
-
网址:The Tengine Web Server
-
1.2 安装nginx
sudo yum clean all # 清除缓存 sudo yum install nginx -y
1. 启动 Nginx 并设置开机自启
sudo systemctl start nginx sudo systemctl enable nginx
2. 开放防火墙端口
# 开放 80(HTTP)和 443(HTTPS)端口 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
3. 验证安装
访问服务器 IP 或域名:
curl http://localhost
如果看到 Welcome to nginx!
页面,说明安装成功。
4.配置文件路径
-
主配置文件:
/etc/nginx/nginx.conf
-
默认网站目录:
/usr/share/nginx/html
-
自定义站点配置:
/etc/nginx/conf.d/
在安装的时候一直报仓库错误:因此在安装nginx时,加上了--disablerepo=local 参数
上述是全局配置了nginx,因此在哪个目录下,都可以用nginx来启动,用nginx -s stop 来停止
nginx -s quit 优雅的关闭,nginx -s reload 重新启动。
关闭全部防火墙:systemctl disable firewalld.service
1.3 目录结构
nginx的目录结构
1.4 nginx的配置文件
nginx的最小配置文件
worker_processes 1; # 根据你的CPU核心数设置events {worker_connections 1024; # 每个worker进程可以处理的最大连接数
}http {include mime.types; # 包含MIME类型定义default_type application/octet-stream;sendfile on; # 开启高效文件传输模式keepalive_timeout 65; # 长连接超时时间server {listen 80; # 监听的端口server_name localhost; # 服务器名称location / {root html; # 网站根目录,默认为Nginx安装目录下的html文件夹index index.html index.htm; # 默认首页文件}error_page 500 502 503 504 /50x.html; # 错误页面location = /50x.html {root html;}}
}
当然其实还可以再简化一点,但是没太必要。
worker_connections:表示一个worker_processes进程,同时可以处理的最大连接数。当然不是越大越好。
include mime.types; # 包含MIME类型定义
当 Web 服务器(如 Nginx)向浏览器发送文件时,会根据 mime.types
中的映射关系,自动生成 Content-Type
响应头,告诉浏览器如何解析该文件(例如,以 HTML 格式渲染 .html
文件,以图片格式渲染 .jpg
文件)。