install-nginx.sh - Nginx官方源快速安装脚本

温馨提醒
总结摘要
install-nginx.sh 是一个用于快速安装 Nginx官方最新稳定版的 Shell 脚本,支持主流 Linux发行版,自动配置官方软件源和 GPG密钥。

install-nginx.sh - Nginx 官方源快速安装脚本

脚本功能

install-nginx.sh 是一个一键式 Nginx官方版本安装脚本,支持 Ubuntu、Debian、CentOS、RHEL、AlmaLinux、Rocky Linux、SUSE、openSUSE、Alibaba Cloud Linux、Anolis OS等主流 Linux发行版。脚本自动添加 Nginx官方 APT/YUM/Zypper软件源,导入 GPG签名密钥,安装最新稳定版 Nginx并配置开机自启。

核心特性

  • 智能识别操作系统类型和版本
  • 自动添加 Nginx官方软件源
  • 支持 stable(稳定版)和 mainline(开发版)
  • 导入官方 GPG签名确保安全性
  • 自动启动服务并设置开机自启
  • 跨平台兼容性强

脚本依赖

系统工具依赖

根据操作系统不同:

Debian/Ubuntu系列

  • apt:包管理工具
  • curl:下载工具
  • apt-key:GPG密钥管理
  • lsb_release:获取系统版本信息

RHEL/CentOS系列

  • yumdnf:包管理工具
  • rpm:RPM包管理器

SUSE/openSUSE系列

  • zypper:包管理工具

环境变量依赖

本脚本无需预设环境变量。

内置配置说明

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# Nginx 官方软件源
# Ubuntu/Debian:
deb http://nginx.org/packages/$OS/ $(lsb_release -cs) nginx

# CentOS/RHEL:
[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/$major_version/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

# GPG密钥
https://nginx.org/keys/nginx_signing.key

参数用法

本脚本无命令行参数,直接执行完整安装流程。

使用方法

快速安装与使用

  1. 下载脚本

    1
    2
    3
    
    bash <(curl -sL sc.eli1.top) install-nginx download
    # 或备用地址
    bash <(curl -sL download.elisky.cn) install-nginx download
  2. 执行安装

    1
    
    sudo ./install-nginx.sh
  3. 验证安装

    1
    2
    3
    
    nginx -version
    systemctl status nginx
    curl http://localhost

典型使用场景

场景 1:快速部署 Web服务器

1
2
3
sudo ./install-nginx.sh
# 网站根目录:/usr/share/nginx/html
# 配置文件:/etc/nginx/nginx.conf

场景 2:配置反向代理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
cat > /etc/nginx/conf.d/proxy.conf <<EOF
server {
    listen 80;
    server_name example.com;
    
    location / {
        proxy_pass http://backend:8080;
        proxy_set_header Host \$host;
        proxy_set_header X-Real-IP \$remote_addr;
    }
}
EOF

sudo nginx -t && sudo systemctl reload nginx

实际应用场景

  • Web 服务器部署:快速搭建静态网站或动态应用前端
  • 反向代理:为后端应用提供统一的访问入口
  • 负载均衡:分发流量到多个应用服务器
  • SSL 终止:处理 HTTPS加密,减轻后端压力
  • API网关:统一管理和路由 API请求

注意事项

版本选择

  • stable:生产环境推荐,稳定性好
  • mainline:新功能测试,适合开发环境

防火墙配置

1
2
3
4
5
6
7
8
# Ubuntu (ufw)
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'

# CentOS (firewalld)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

SELinux配置(CentOS/RHEL)

1
2
3
4
5
# 允许 Nginx网络访问
setsebool -P httpd_can_network_connect 1

# 允许访问用户主目录
setsebool -P httpd_enable_homedirs 1