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

相关推荐
未济5 天前
linux 配置环境变量
linux
傲世仙尊5 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
还是大剑师兰特5 天前
解决nginx错误:http://localhost:7000正常,http://localhost:7000/map 报错404
nginx·大剑师
_艾伦 耶格尔.5 天前
进程间通信
linux
Liuqy-055 天前
Linux IO编程——静态库、动态库
linux
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
xing-xing5 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅5 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog5 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发