各种服务器使用 yum 安装 nginx
1. 在Red Hat Enterprise Linux (RHEL) 及其衍生版本(如CentOS, Oracle Linux, Rocky Linux, AlmaLinux)上安装Nginx的步骤如下:
安装前提条件
首先,确保系统已安装yum-utils
工具,这将有助于管理软件包和仓库:
sudo yum install yum-utils
设置yum仓库
创建一个名为nginx.repo
的文件在/etc/yum.repos.d/
目录下,并添加以下内容以设置Nginx的yum仓库。该文件包含了两个部分:一个用于稳定版Nginx包,另一个用于主线版(开发版)Nginx包。
[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
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
默认情况下,只有稳定版仓库是启用的。如果你想要使用主线版(更频繁更新但可能不如稳定版稳定的版本),你可以通过运行下面的命令来启用它:
sudo yum-config-manager --enable nginx-mainline
安装Nginx
接下来,可以通过yum安装Nginx:
sudo yum install nginx
在安装过程中,你会被提示接受GPG密钥。请务必验证提供的指纹是否匹配官方提供的指纹:
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
如果指纹匹配,请接受密钥。这一步是为了确保下载的软件包来自可信来源,从而保障系统的安全性。
完成上述步骤后,Nginx应该已经成功安装到你的系统上了。你可以通过启动Nginx服务并访问服务器的IP地址或域名来测试安装是否成功。
sudo systemctl start nginx
sudo systemctl enable nginx
如果你想检查Nginx是否正在运行,可以使用以下命令:
sudo systemctl status nginx
以上就是在RHEL及其衍生版本上安装Nginx的完整过程。
2.在Debian系统上安装Nginx的步骤如下:
安装前提条件
首先,确保你已经安装了必要的软件包,这些软件包将帮助你设置Apt仓库并管理密钥:
sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
导入官方Nginx签名密钥
接下来,导入官方的Nginx签名密钥,以便Apt可以验证软件包的真实性。下载并安装GPG密钥:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
验证下载的文件是否包含正确的密钥:
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
输出应包含以下完整的指纹:
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
请注意,输出中可能会包含用于签署软件包的其他密钥。
设置Apt仓库
根据你想要使用的版本(稳定版或主线版),添加适当的Apt仓库配置。对于稳定版Nginx包,请运行以下命令:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
如果你更倾向于使用主线版(更频繁更新但可能不如稳定版稳定的版本)Nginx包,则应运行以下命令:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian $(lsb_release -cs) nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
设置仓库优先级
为了确保你的系统优先选择来自Nginx官方源的包而不是发行版提供的包,你可以设置仓库的pinning优先级:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
安装Nginx
最后,更新软件包列表,并安装Nginx:
sudo apt update
sudo apt install nginx
完成上述步骤后,Nginx应该已经被成功安装到你的Debian系统上了。你可以通过启动Nginx服务并访问服务器的IP地址或域名来测试安装是否成功。
sudo systemctl start nginx
sudo systemctl enable nginx
如果你想检查Nginx是否正在运行,可以使用以下命令:
sudo systemctl status nginx
以上就是在Debian系统上安装Nginx的完整过程。
3.在Ubuntu系统上安装Nginx的步骤如下:
安装前提条件
首先,确保你已经安装了必要的软件包,这些软件包将帮助你设置Apt仓库并管理密钥:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
导入官方Nginx签名密钥
接下来,导入官方的Nginx签名密钥,以便Apt可以验证软件包的真实性。下载并安装GPG密钥:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
验证下载的文件是否包含正确的密钥:
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
输出应包含以下完整的指纹:
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
请注意,输出中可能会包含用于签署软件包的其他密钥。
设置Apt仓库
根据你想要使用的版本(稳定版或主线版),添加适当的Apt仓库配置。对于稳定版Nginx包,请运行以下命令:
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包,则应运行以下命令:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu $(lsb_release -cs) nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
设置仓库优先级
为了确保你的系统优先选择来自Nginx官方源的包而不是发行版提供的包,你可以设置仓库的pinning优先级:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
安装Nginx
最后,更新软件包列表,并安装Nginx:
sudo apt update
sudo apt install nginx
完成上述步骤后,Nginx应该已经被成功安装到你的Ubuntu系统上了。你可以通过启动Nginx服务并访问服务器的IP地址或域名来测试安装是否成功。
sudo systemctl start nginx
sudo systemctl enable nginx
如果你想检查Nginx是否正在运行,可以使用以下命令:
sudo systemctl status nginx
以上就是在Ubuntu系统上安装Nginx的完整过程。
4.在SUSE Linux Enterprise Server (SLES) 上安装Nginx的步骤如下:
安装前提条件
首先,确保你已经安装了必要的软件包,这些软件包将帮助你设置Zypper仓库并管理密钥:
sudo zypper install curl ca-certificates gpg2
设置Zypper仓库
根据你想要使用的版本(稳定版或主线版),添加适当的Zypper仓库配置。对于稳定版Nginx包,请运行以下命令:
sudo zypper addrepo --gpgcheck --type yum --refresh --check \
'http://nginx.org/packages/sles/$releasever_major' nginx-stable
如果你更倾向于使用主线版(更频繁更新但可能不如稳定版稳定的版本)Nginx包,则应运行以下命令:
sudo zypper addrepo --gpgcheck --type yum --refresh --check \
'http://nginx.org/packages/mainline/sles/$releasever_major' nginx-mainline
导入官方Nginx签名密钥
接下来,导入官方的Nginx签名密钥,以便Zypper/RPM可以验证软件包的真实性。下载密钥:
curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
验证下载的文件是否包含正确的密钥:
gpg --with-fingerprint /tmp/nginx_signing.key
输出应包含以下完整的指纹:
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
pub 2048R/7BD9BF62 2011-08-19 [expires: 2027-05-24]
Key fingerprint = 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
uid nginx signing key <signing-key@nginx.com>
确认密钥无误后,将其导入到RPM数据库:
sudo rpmkeys --import /tmp/nginx_signing.key
安装Nginx
最后,通过Zypper安装Nginx:
sudo zypper install nginx
完成上述步骤后,Nginx应该已经被成功安装到你的SLES系统上了。你可以通过启动Nginx服务并访问服务器的IP地址或域名来测试安装是否成功。
sudo systemctl start nginx
sudo systemctl enable nginx
如果你想检查Nginx是否正在运行,可以使用以下命令:
sudo systemctl status nginx
以上就是在SLES系统上安装Nginx的完整过程。
5.在Alpine Linux上安装Nginx的步骤如下:
安装前提条件
首先,确保你已经安装了必要的软件包,这些软件包将帮助你设置Apk仓库并管理密钥:
sudo apk add openssl curl ca-certificates
设置Apk仓库
根据你想要使用的版本(稳定版或主线版),添加适当的Apk仓库配置。对于稳定版Nginx包,请运行以下命令:
printf "%s%s%s%s\n" \
"@nginx " \
"http://nginx.org/packages/alpine/v" \
`egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \
"/main" \
| sudo tee -a /etc/apk/repositories
如果你更倾向于使用主线版(更频繁更新但可能不如稳定版稳定的版本)Nginx包,则应运行以下命令:
printf "%s%s%s%s\n" \
"@nginx " \
"http://nginx.org/packages/mainline/alpine/v" \
`egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \
"/main" \
| sudo tee -a /etc/apk/repositories
导入官方Nginx签名密钥
接下来,导入官方的Nginx签名密钥,以便Apk可以验证软件包的真实性。下载密钥:
curl -o /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub
验证下载的文件是否包含正确的密钥:
openssl rsa -pubin -in /tmp/nginx_signing.rsa.pub -text -noout
输出应包含以下模数(modulus):
Public-Key: (2048 bit)
Modulus:
00:fe:14:f6:0a:1a:b8:86:19:fe:cd:ab:02:9f:58:
2f:37:70:15:74:d6:06:9b:81:55:90:99:96:cc:70:
...
ab:6d
Exponent: 65537 (0x10001)
确认密钥无误后,将其移动到Apk信任密钥存储中:
sudo mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/
安装Nginx
最后,通过Apk安装Nginx:
sudo apk add nginx@nginx
如果你需要安装带有动态模块的Nginx,记得指定标签@nginx
,例如:
sudo apk add nginx-module-image-filter@nginx nginx-module-njs@nginx
完成上述步骤后,Nginx应该已经被成功安装到你的Alpine Linux系统上了。你可以通过启动Nginx服务并访问服务器的IP地址或域名来测试安装是否成功。
sudo rc-service nginx start
sudo rc-update add nginx default
如果你想检查Nginx是否正在运行,可以使用以下命令:
sudo rc-status | grep nginx
以上就是在Alpine Linux系统上安装Nginx的完整过程。
6.在Amazon Linux上安装Nginx的步骤如下,根据你使用的Amazon Linux版本(Amazon Linux 2 或 Amazon Linux 2023),配置会略有不同。
安装前提条件
首先,确保你已经安装了必要的软件包,这些软件包将帮助你设置Yum仓库并管理密钥:
sudo yum install yum-utils
设置Yum仓库
对于Amazon Linux 2
创建一个名为nginx.repo
的文件在/etc/yum.repos.d/
目录下,并添加以下内容以设置Nginx的yum仓库。该文件包含了两个部分:一个用于稳定版Nginx包,另一个用于主线版(开发版)Nginx包。
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/amzn2/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
priority=9
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/amzn2/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
priority=9
对于Amazon Linux 2023
同样创建一个名为nginx.repo
的文件在/etc/yum.repos.d/
目录下,但使用以下内容:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/amzn/2023/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
priority=9
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/amzn/2023/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
priority=9
默认情况下,只有稳定版仓库是启用的。如果你想要使用主线版(更频繁更新但可能不如稳定版稳定的版本)Nginx包,你可以通过运行下面的命令来启用它:
sudo yum-config-manager --enable nginx-mainline
安装Nginx
接下来,可以通过yum安装Nginx:
sudo yum install nginx
在安装过程中,你会被提示接受GPG密钥。请务必验证提供的指纹是否匹配官方提供的指纹:
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
如果指纹匹配,请接受密钥。这一步是为了确保下载的软件包来自可信来源,从而保障系统的安全性。
完成上述步骤后,Nginx应该已经被成功安装到你的Amazon Linux系统上了。你可以通过启动Nginx服务并访问服务器的IP地址或域名来测试安装是否成功。
sudo systemctl start nginx
sudo systemctl enable nginx
如果你想检查Nginx是否正在运行,可以使用以下命令:
sudo systemctl status nginx
以上就是在Amazon Linux系统上安装Nginx的完整过程。