1nginx基础
1.1四个版本
Nginx 开源版:
特点:这是 Nginx 的官方开源版本,完全免费,功能强大,支持高并发连接和低内存消耗。
适用场景:适用于大多数需要高性能 Web 服务器和反向代理的场景。
网址:nginx
Nginx Plus 商业版:
特点:这是 Nginx 的商业版本,提供了额外的功能和支持服务,如高级负载均衡、会话持久性、动态配置更新、实时监控和增强的安全性。
适用场景:适用于企业级应用,需要高级功能和技术支持的场景。
OpenResty:
特点:OpenResty 是基于 Nginx 和 LuaJIT 的 Web 平台,集成了大量的 Lua 库和第三方模块,支持通过 Lua 脚本扩展功能。
适用场景:适用于需要高度定制化和动态功能的 Web 应用,如 API 网关、动态 Web 服务等。
Tengine:
特点:Tengine 是由淘宝网发起的 Web 服务器项目,基于 Nginx 开发,增加了一些高级功能和优化,如动态模块加载、更灵活的配置等。
适用场景:适用于需要高性能和高扩展性的 Web 服务,特别是大型网站和高流量场景。
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 目录结构
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
文件)。