1. Nginx概述

Nginx(发音为"engine x")是一个高性能的Web服务器,与Apache相比,资源消耗更低。它不仅支持高并发的Web服务和反向代理服务,还支持基于IMAP/POP3/SMTP协议的邮件服务。此外,Nginx还支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能,并且支持很多第三方模块的扩展。

2. Nginx安装部署

2.1 安装Nginx

在CentOS上安装Nginx的步骤如下:

  1. 更新系统包:

    sudo yum update -y
  2. 安装Nginx:

    sudo yum install -y epel-release
    sudo yum install -y nginx
  3. 启动并设置Nginx开机自启动:

    sudo systemctl start nginx
    sudo systemctl enable nginx

3. Nginx基本配置

Nginx的配置文件主要位于/etc/nginx/nginx.conf。以下是一些常见的配置示例:

3.1 网站配置

/etc/nginx/nginx.conf文件中,定义一个简单的HTTP服务:

server {
    listen       80;
    server_name  example.com;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

3.2 虚拟主机

可以在Nginx配置文件中添加多个server块来配置多个虚拟主机:

server {
    listen       80;
    server_name  site1.example.com;

    location / {
        root   /usr/share/nginx/site1;
        index  index.html index.htm;
    }
}

server {
    listen       80;
    server_name  site2.example.com;

    location / {
        root   /usr/share/nginx/site2;
        index  index.html index.htm;
    }
}

3.3 访问控制

通过Nginx的配置,可以控制访问权限:

server {
    listen       80;
    server_name  example.com;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        allow 192.168.1.0/24;
        deny  all;
    }
}

3.4 反向代理

Nginx可以作为反向代理服务器:

server {
    listen       80;
    server_name  proxy.example.com;

    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

4. Nginx应用案例

4.1 负载均衡

Nginx可以用来做负载均衡,分发请求到多个后端服务器:

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://backend;
        }
    }
}

4.2 静态文件服务

Nginx非常适合用来提供静态文件服务:

server {
    listen       80;
    server_name  static.example.com;

    location / {
        root   /usr/share/nginx/static;
        autoindex on;
    }
}

本文由mdnice多平台发布


逼格高的汤圆
7 声望2 粉丝