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

相关推荐
C_心欲无痕1 小时前
ts - tsconfig.json配置讲解
linux·前端·ubuntu·typescript·json
冰西瓜6002 小时前
国科大2025操作系统高级教程期末回忆版
linux
HIT_Weston2 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng20183 小时前
Linux下Beyond Compare过期
linux·运维·服务器
HIT_Weston3 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式3 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
期待のcode3 小时前
前后端分离项目 Springboot+vue 在云服务器上的部署
服务器·vue.js·spring boot
AI 智能服务3 小时前
第6课__本地工具调用(文件操作)
服务器·人工智能·windows·php
码农小韩5 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [fs]seq_file
linux·笔记·学习