Nginx学习与使用

一、Nginx特点

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。

无缓存的反向代理加速,简单的负载均衡和容错。

FastCGI,简单的负载均衡和容错。

模块化的结构。包括gzipping, byte ranges, chunked responses,以及SSI-filter等filter。如果有FastCGI或其他代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。支持SSL和TLSSNI。

二、Nginx 的原理

  1. Nginx简介

    ​ Nginx是一种十分轻量级的Web服务器/高性能反向代理服务器,因为Nginx是一时间驱动的方式编写的所以有非常好的性能,同时也是一种非常高效的反向代理服务器,负载均衡服务器。

  2. 模块化设计

    • Nginx 使用模块化结构,可以根据需求加载不同功能的模块,比如 HTTP、Mail、Stream 等模块。
  3. 反向代理和负载均衡

    • Nginx 常用作反向代理,将客户端请求转发到后端服务器。
    • 支持多种负载均衡算法(如轮询、加权轮询、最少连接等),提高系统的可用性和性能。
  4. 静态文件处理

    • Nginx 对静态文件的处理效率极高,能够直接读取文件,响应速度快。
  5. 请求处理流程

    • 客户端请求到达 Nginx,经过解析、路由、处理后返回响应,过程高效且可扩展。

三、安装 Nginx

以下是在 Linux 系统上安装 Nginx 的基本步骤(以 Ubuntu 为例):

  1. 更新包索引

    sudo apt update
    
  2. 安装 Nginx

    sudo apt install nginx
    
  3. 启动 Nginx

    sudo systemctl start nginx
    
  4. 设置开机自启

    sudo systemctl enable nginx
    
  5. 检查安装: 打开浏览器,访问 http://localhost,如果看到 Nginx 的欢迎页面,说明安装成功。

四、使用 Nginx

  1. 基本配置: Nginx 的配置文件通常位于 /etc/nginx/nginx.conf。你可以通过以下命令打开它:

    sudo nano /etc/nginx/nginx.conf
    
  2. 配置示例

    server {
        listen 80;
        server_name example.com;
    
        location / {
            root /var/www/html;
            index index.html index.htm;
        }
    
        location /api {
            proxy_pass http://backend-server;
        }
    }
    
  3. 测试配置: 在修改配置后,使用以下命令测试配置是否正确:

    sudo nginx -t
    
  4. 重载配置: 如果测试通过,使用以下命令重载 Nginx 配置:

    sudo systemctl reload nginx
    
  5. 访问日志和错误日志: 日志文件默认存储在 /var/log/nginx/access.log/var/log/nginx/error.log

五、常见操作

  • 启停 Nginx

    bash复制代码sudo systemctl start nginx    # 启动
    sudo systemctl stop nginx     # 停止
    sudo systemctl restart nginx  # 重启
    
  • 设置 HTTPS: 使用 Let’s Encrypt 或其他 CA 生成 SSL 证书,配置文件中添加 SSL 相关的设置。

  • 负载均衡: 配置多个后端服务,使用 upstream 指令进行负载均衡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值