nginx

1nginx基础

1.1四个版本

  1. Nginx 开源版

    • 特点:这是 Nginx 的官方开源版本,完全免费,功能强大,支持高并发连接和低内存消耗。

    • 适用场景:适用于大多数需要高性能 Web 服务器和反向代理的场景。

    • 网址nginx

  2. Nginx Plus 商业版

    • 特点:这是 Nginx 的商业版本,提供了额外的功能和支持服务,如高级负载均衡、会话持久性、动态配置更新、实时监控和增强的安全性。

    • 适用场景:适用于企业级应用,需要高级功能和技术支持的场景。

    • 网址https://www.nginx.com

  3. OpenResty

    • 特点:OpenResty 是基于 Nginx 和 LuaJIT 的 Web 平台,集成了大量的 Lua 库和第三方模块,支持通过 Lua 脚本扩展功能。

    • 适用场景:适用于需要高度定制化和动态功能的 Web 应用,如 API 网关、动态 Web 服务等。

    • 网址http://openresty.org

  4. 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的最小配置文件

bash 复制代码
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 文件)。

相关推荐
YuMiao2 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
闲云一鹤20 小时前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器