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 文件)。

相关推荐
青梅橘子皮2 小时前
Linux---基本指令
linux·运维·服务器
REDcker3 小时前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
cui_ruicheng4 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
蚰蜒螟4 小时前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft
运维全栈笔记4 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
dllmayday5 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
ACP广源盛139246256735 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
峥无6 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
用户2367829801686 小时前
从 chmod 755 说起:Unix 文件权限到底是怎么算的?
linux
Strugglingler6 小时前
【systemctl 学习总结】
linux·systemd·systemctl·journalctl·unit file