5年经验,没安装部署过Nginx?

在Linux服务器上安装Nginx有多种方式,以下是主要的安装方法:

1. 包管理器安装(推荐新手)

Ubuntu/Debian

复制代码
# 更新软件包列表
sudo apt update

# 安装Nginx
sudo apt install nginx

# 启动Nginx
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

CentOS/RHEL/Rocky Linux

复制代码
# 添加EPEL仓库(CentOS/RHEL)
sudo yum install epel-release
# 或
sudo dnf install epel-release

# 安装Nginx
sudo yum install nginx
# 或
sudo dnf install nginx

# 启动并启用Nginx
sudo systemctl start nginx
sudo systemctl enable nginx

2. 源码编译安装(推荐高级用户)

复制代码
# 安装依赖
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

# 下载源码
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

# 配置编译选项
./configure --prefix=/usr/local/nginx \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-http_stub_status_module

# 编译并安装
make && sudo make install

# 启动Nginx
sudo /usr/local/nginx/sbin/nginx

3. 使用官方仓库安装

Ubuntu/Debian

复制代码
# 添加Nginx官方仓库
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

# 添加稳定版仓库
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

# 安装Nginx
sudo apt update
sudo apt install nginx

CentOS/RHEL

复制代码
# 创建仓库文件
sudo vi /etc/yum.repos.d/nginx.repo

# 添加以下内容
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

# 安装Nginx
sudo yum install nginx

4. 使用Docker安装

复制代码
# 拉取Nginx镜像
docker pull nginx:latest

# 运行Nginx容器
docker run --name my-nginx -p 80:80 -d nginx

# 使用自定义配置运行
docker run --name my-nginx \
  -v /path/to/nginx.conf:/etc/nginx/nginx.conf:ro \
  -v /path/to/html:/usr/share/nginx/html:ro \
  -p 80:80 -d nginx

5. 使用包管理器的特定版本

安装特定版本(Ubuntu)

复制代码
# 查看可用版本
apt-cache policy nginx

# 安装特定版本
sudo apt install nginx=1.18.0-0ubuntu1

验证安装

安装完成后,验证Nginx是否正常运行:

复制代码
# 检查状态
sudo systemctl status nginx

# 测试配置文件
sudo nginx -t

# 查看版本
nginx -v

# 访问测试
curl http://localhost

各安装方式的优缺点

安装方式 优点 缺点
系统包管理器 简单快捷,自动处理依赖 版本可能较旧
源码编译 最新版本,可定制模块 安装复杂,需手动管理
官方仓库 版本较新,官方维护 需要添加第三方仓库
Docker 环境隔离,易于部署 需要Docker环境

推荐建议:

  • 新手和一般生产环境:使用系统包管理器或官方仓库
  • 需要特定功能或最新版本:源码编译安装
  • 容器化环境:使用Docker安装

选择哪种方式取决于你的具体需求、技术水平和服务器环境。

相关推荐
@22061 天前
银河麒麟系统离线环境下用docke方式部署(Postgres、Nginx、Redis、JDK)
运维·数据库·redis·nginx
戈壁老孙1 天前
使用Nginx实现动态后端服务切换:一套配置管理多环境
运维·nginx
天天天天学习丶2 天前
Nginx 域名解析后默认打开其他项目问题解决方案
nginx
取谖慕12.2 天前
keepailved+nginx+nfs高可用
运维·nginx·nfs
小Ti客栈2 天前
Nginx进阶配置实战全攻略:SSL部署、防盗链、压缩、代理、限流、请求合并
nginx·负载均衡·ssl
岁岁种桃花儿2 天前
深入理解 Keepalive:从协议到 Nginx 实战(全场景解析)
运维·nginx
康小庄2 天前
通过NGINX实现将小程序HTTPS请求转为内部HTTP请求
java·spring boot·nginx·spring·http·小程序
牵牛老人2 天前
Qt后端开发遇到跨域问题终极解决方案 与 Nginx反向代理全解析
qt·nginx·状态模式
小目标一个亿2 天前
Windows平台Nginx配置web账号密码验证
linux·前端·nginx
养乐多q.♡2 天前
docker镜像的nginx配置证书SSL,单独配置单个localtion使用证书,其他nginx配置不影响
nginx·docker·ssl