插件窝 干货文章 如何在Linux中使用Nginx服务器

如何在Linux中使用Nginx服务器

Nginx sudo example bash 896    来源:    2025-04-18

在Linux中使用Nginx服务器的完整指南

Nginx是一个高性能的HTTP和反向代理服务器,在Linux系统中被广泛使用。以下是Nginx在Linux中的安装、配置和使用方法。

1. 安装Nginx

在基于Debian/Ubuntu的系统上:

sudo apt update
sudo apt install nginx

在基于RHEL/CentOS的系统上:

sudo yum install epel-release
sudo yum install nginx

在基于Fedora的系统上:

sudo dnf install nginx

2. 管理Nginx服务

启动Nginx

sudo systemctl start nginx

设置开机自启

sudo systemctl enable nginx

停止Nginx

sudo systemctl stop nginx

重启Nginx

sudo systemctl restart nginx

重新加载配置(不中断服务)

sudo systemctl reload nginx

检查状态

sudo systemctl status nginx

3. 基本配置

Nginx的主要配置文件位于: - /etc/nginx/nginx.conf (主配置文件) - /etc/nginx/sites-available/ (可用站点配置) - /etc/nginx/sites-enabled/ (启用的站点配置,通常是sites-available的符号链接)

测试配置文件语法

sudo nginx -t

默认网站根目录

  • /var/www/html (Debian/Ubuntu)
  • /usr/share/nginx/html (RHEL/CentOS)

4. 配置虚拟主机(服务器块)

  1. /etc/nginx/sites-available/中创建新配置文件
sudo nano /etc/nginx/sites-available/example.com
  1. 添加基本配置:
server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
  1. 创建符号链接到sites-enabled目录:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  1. 创建网站目录:
sudo mkdir -p /var/www/example.com/html
  1. 设置权限:
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
  1. 创建测试页面:
echo "<h1>Welcome to Example.com</h1>" > /var/www/example.com/html/index.html
  1. 重新加载Nginx:
sudo systemctl reload nginx

5. 常用功能配置

配置HTTPS(使用Let's Encrypt)

  1. 安装Certbot:
sudo apt install certbot python3-certbot-nginx  # Debian/Ubuntu
sudo yum install certbot python3-certbot-nginx  # RHEL/CentOS
  1. 获取证书:
sudo certbot --nginx -d example.com -d www.example.com
  1. 设置自动续期:
sudo certbot renew --dry-run

反向代理配置

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

    location / {
        proxy_pass http://localhost: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;
    }
}

负载均衡配置

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

server {
    listen 80;
    server_name example.com;

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

6. 日志文件

Nginx的日志文件通常位于: - 访问日志:/var/log/nginx/access.log - 错误日志:/var/log/nginx/error.log

7. 性能调优

  1. 调整worker进程数(在nginx.conf中):
worker_processes auto;  # 通常设置为CPU核心数
  1. 调整连接数:
events {
    worker_connections 1024;
}
  1. 启用Gzip压缩:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

8. 常见问题排查

  1. 检查Nginx是否运行:
ps aux | grep nginx
  1. 检查端口监听:
sudo netstat -tulnp | grep nginx
  1. 检查错误日志:
sudo tail -f /var/log/nginx/error.log
  1. 检查配置:
sudo nginx -t

通过以上步骤,您应该能够在Linux系统上成功安装、配置和使用Nginx服务器。根据您的具体需求,可以进一步定制Nginx的配置。