新闻资讯

掌握最新资讯,了解关于我们的最新动态!
您当前位置首页 > 新闻资讯 > 服务器问题

Linux系统安装配置Nginx Web服务器教程

更新时间:2026-06-02 01:38

Nginx是目前最流行的Web服务器之一,以其高性能、低内存占用和优秀的并发处理能力著称。本文将介绍在Linux系统上从零开始安装并配置Nginx的完整流程。

一、安装Nginx

推荐从官方源安装以获得最新稳定版本:

code
# CentOS/RHEL 系列
yum install -y epel-release
yum install -y nginx

# Ubuntu/Debian 系列
apt update
apt install -y nginx

安装完成后启动Nginx并设置开机自启:

code
systemctl start nginx
systemctl enable nginx
systemctl status nginx

此时访问 http://服务器IP,应该能看到Nginx的默认欢迎页面。

二、防火墙放行Web端口

code
# CentOS 使用 firewalld
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

# Ubuntu 使用 ufw
ufw allow 80/tcp
ufw allow 443/tcp

三、配置虚拟主机

code
cat > /etc/nginx/conf.d/example.com.conf << 'EOF'
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.html index.htm index.php;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location / {
        try_files $uri $uri/ /index.html;
    }
}
EOF

测试配置并重载:

code
nginx -t  # 测试配置文件
systemctl reload nginx  # 平滑重载

四、配置HTTPS(SSL证书)

推荐使用免费的Let's Encrypt证书:

code
# 安装Certbot
yum install -y certbot python3-certbot-nginx  # CentOS
apt install -y certbot python3-certbot-nginx  # Ubuntu

# 自动申请并配置SSL
certbot --nginx -d example.com -d www.example.com

五、性能优化建议

  • 调整worker进程数:worker_processes auto;(自动匹配CPU核心数)
  • 开启gzip压缩:gzip on; gzip_types text/plain text/css application/json;
  • 配置静态文件缓存:location ~* \.(jpg|png|css|js)$ { expires 30d; }
  • 限制连接数防止资源耗尽

六、Nginx安全配置

合理配置Nginx安全头可防御多种Web攻击:

code
# Nginx安全头部配置
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Strict-Transport-Security "max-age=31536000" always;
add_header Content-Security-Policy "default-src 'self'" always;

七、Nginx负载均衡

Nginx支持轮询、最少连接、IP哈希等多种负载均衡算法。将请求分发到多台后端服务器可实现高可用和高并发处理。配合健康检查机制,自动剔除故障节点确保服务不中断。

八、Nginx性能调优

优化worker_processes与worker_connections参数,调整sendfile和tcp_nopush提升静态文件传输效率。配置gzip压缩可减少50-70%传输数据量,设置合理缓存头减少重复请求。

九、HTTPS证书自动续签

使用Certbot配合Nginx实现SSL证书自动申请和续签。配置ACME挑战验证后,证书即将到期时系统自动续签,无需人工干预。配合systemd timer定期检查证书状态,确保证书永不过期。

十、Nginx日志分析与监控

通过GoAccess或AWStats分析Nginx访问日志,了解访客来源、热门页面和错误分布。结合Prometheus nginx_exporter采集Nginx指标,在Grafana中实现实时监控和告警。

安全合格的云服务,让您的业务轻松上云!

立即选购