nginx 的使用与技巧

/ 默认分类 / 没有评论 / 62浏览

Nginx 的使用与技巧

Nginx(发音为 "engine-x")是一个高性能的 HTTP 和反向代理服务器,它也可以用作 IMAP/POP3/SMTP 代理服务器。Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。Nginx 是基于 Linux 操作系统的,采用了事件驱动、异步、非阻塞等技术。

安装 Nginx

在开始使用 Nginx 之前,首先需要在服务器上安装它。以下是在不同操作系统上安装 Nginx 的方法:

Ubuntu/Debian

sudo apt-get update
sudo apt-get install nginx

CentOS/RHEL

sudo yum install epel-release
sudo yum install nginx

Windows

从 Nginx 官方网站下载 Windows 版本的 Nginx,解压到本地目录,然后将其添加到系统环境变量中。

Nginx 配置文件

Nginx 的配置文件通常位于 /etc/nginx/nginx.conf(Linux)或 C: ginxconf ginx.conf(Windows)。在这个文件中,你可以配置 Nginx 的各种参数,例如监听端口、虚拟主机、反向代理等。以下是一个简单的 Nginx 配置文件示例:

http {
    server {
        listen       80; # 监听端口
        server_name  example.com; # 虚拟主机名

        location / {
            root   html; # 网站根目录
            index  index.html index.htm; # 默认首页文件名
        }
    }
}

Nginx 常用技巧

  1. 设置多个虚拟主机:在一个配置文件中,可以设置多个虚拟主机,每个虚拟主机可以有不同的域名、监听端口和网站根目录。例如:
http {
    server {
        listen       80; # 监听端口
        server_name  www.example1.com; # 虚拟主机名1
        location / {
            root   html/example1; # 网站根目录1
        }
    }
    server {
        listen       80; # 监听端口
        server_name  www.example2.com; # 虚拟主机名2
        location / {
            root   html/example2; # 网站根目录2
        }
    }
}
  1. 设置访问控制:可以使用 allowdeny 指令来限制访问特定 IP 地址或范围的请求。例如,只允许来自本机的请求访问:
location / {
    allow 192.168.1.0/24; # 允许的 IP 地址范围
    deny all; # 拒绝其他所有请求
}
  1. 设置缓存:Nginx 可以对静态文件进行缓存,以减少磁盘 I/O 和带宽消耗。例如,将静态文件缓存时间设置为一天:
http {
    ...
    expires 1d; # 缓存过期时间为1天(24小时)
    ...
}
  1. 设置 gzip 压缩:为了减小传输文件的大小,可以在客户端和服务器端都启用 gzip 压缩。在 Nginx 配置文件中添加以下内容:
http {
    ...
    gzip on; # 启用 gzip 压缩
    gzip_min_length 1000; # 最小压缩文件大小为1KB(可以根据需要调整)
    gzip_buffers 16 8k; # 缓冲区数量和大小(越大,压缩效果越好,但 CPU 占用也越高)
    ...
}