Skip to content

Nginx 安装与配置指南

Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器。它以其稳定性、丰富的功能集、简单的配置文件和低系统资源消耗而闻名。

Web服务器

Nginx 安装

Linux (Ubuntu / Debian)

使用 apt 包管理器进行安装:

bash
sudo apt update
sudo apt install nginx -y

安装完成后,检查服务状态:

bash
systemctl status nginx

Linux (CentOS / RHEL)

使用 yum 进行安装(可能需要先安装 EPEL 源):

bash
sudo yum install epel-release -y
sudo yum install nginx -y

启动 Nginx 并设置开机自启:

bash
sudo systemctl start nginx
sudo systemctl enable nginx

Windows

  1. 前往 Nginx 官方下载页 下载稳定版(Stable version)的压缩包。
  2. 解压下载的 zip 文件到任意目录(例如 C:\nginx)。
  3. 打开命令提示符(CMD)或 PowerShell,进入该目录。
  4. 运行 start nginx 启动服务。

Nginx 常用命令

命令说明
nginx -t测试配置文件是否有语法错误
nginx -s reload重载配置文件(无需停止服务)
nginx -s stop快速停止服务
nginx -s quit优雅停止服务(处理完当前请求后停止)

基础配置示例

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf。建议在 /etc/nginx/conf.d/ 目录下创建新的 .conf 文件来管理不同的站点。

1. 托管静态网站

创建一个名为 website.conf 的文件:

nginx
server {
    listen 80;
    server_name example.com; # 你的域名或 IP

    root /var/www/html/my-website; # 网站根目录
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

2. 反向代理

反向代理常用于将请求转发给后端的应用服务器(如 Node.js, Python, Go 等)。

nginx
server {
    listen 80;
    server_name api.example.com;

    location / {
        proxy_pass http://127.0.0.1:3000; # 转发到本地 3000 端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. 这是 HTTPS SSL 配置 (443端口)

nginx
server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /path/to/cert.pem;     # 证书路径
    ssl_certificate_key /path/to/key.pem;  # 私钥路径

    location / {
        root /var/www/html;
        index index.html;
    }
}

# 强制跳转 HTTPS
server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}