Nginx 安装与配置指南
Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器。它以其稳定性、丰富的功能集、简单的配置文件和低系统资源消耗而闻名。
Web服务器Nginx 安装
Linux (Ubuntu / Debian)
使用 apt 包管理器进行安装:
bash
sudo apt update
sudo apt install nginx -y安装完成后,检查服务状态:
bash
systemctl status nginxLinux (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 nginxWindows
- 前往 Nginx 官方下载页 下载稳定版(Stable version)的压缩包。
- 解压下载的 zip 文件到任意目录(例如
C:\nginx)。 - 打开命令提示符(CMD)或 PowerShell,进入该目录。
- 运行
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;
}