Nginx 使用方法
Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也可以作为邮件代理和通用 TCP/UDP 代理服务器使用。本文将介绍 Nginx 的安装、基本配置及常见功能的使用方法。
1. Nginx 安装
1.1 在 Linux 系统上安装
Ubuntu/Debian 系统:
| 12
 
 | sudo apt updatesudo apt install nginx
 
 | 
CentOS 系统:
| 12
 
 | sudo yum install epel-releasesudo yum install nginx
 
 | 
启动和检查服务:
| 12
 3
 
 | sudo systemctl start nginxsudo systemctl enable nginx
 sudo systemctl status nginx
 
 | 
1.2 在 Windows 系统上安装
- 从 Nginx 官方网站 下载 Windows 版本。
- 解压到指定目录,例如:C:\nginx。
- 打开命令行,进入 Nginx 目录并启动:
2. 配置文件结构
Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf(Linux)或解压目录的 conf/nginx.conf(Windows)。以下是一个典型的配置文件结构:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | user  nginx;worker_processes  auto;
 
 events {
 worker_connections  1024;
 }
 
 http {
 include       mime.types;
 default_type  application/octet-stream;
 
 sendfile        on;
 keepalive_timeout  65;
 
 server {
 listen       80;
 server_name  localhost;
 
 location / {
 root   /usr/share/nginx/html;
 index  index.html index.htm;
 }
 
 error_page  500 502 503 504  /50x.html;
 location = /50x.html {
 root   /usr/share/nginx/html;
 }
 }
 }
 
 | 
3. 常见功能与使用
3.1 反向代理
反向代理用于将客户端请求转发到后端服务器。
示例配置:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | server {listen 80;
 server_name example.com;
 
 location / {
 proxy_pass http://127.0.0.1:8080;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 }
 
 | 
3.2 静态文件服务
Nginx 可直接作为静态文件服务器。
示例配置:
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | server {listen 80;
 server_name static.example.com;
 
 location / {
 root /var/www/static;
 index index.html;
 }
 }
 
 | 
3.3 负载均衡
Nginx 可用作负载均衡器,将流量分发到多台后端服务器。
示例配置:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | upstream backend {server 192.168.1.101;
 server 192.168.1.102;
 }
 
 server {
 listen 80;
 server_name example.com;
 
 location / {
 proxy_pass http://backend;
 }
 }
 
 | 
3.4 HTTPS 配置
使用 Let’s Encrypt 生成免费证书并配置 HTTPS。
示例配置:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | server {listen 443 ssl;
 server_name example.com;
 
 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
 
 location / {
 root /var/www/html;
 index index.html;
 }
 }
 
 | 
4. 常见问题与解决
问题 1:无法启动 Nginx
原因:端口被占用。
解决方法:检查并释放端口。
| 12
 
 | sudo netstat -tulnp | grep :80sudo fuser -k 80/tcp
 
 | 
问题 2:配置文件错误
解决方法:测试配置文件是否正确。
问题 3:静态文件无法访问
原因:权限不足。
解决方法:确保文件目录具有正确权限。
| 1
 | sudo chmod -R 755 /var/www/html
 | 
5. 参考文档