简介
在这篇文章中,我将向您展示如何通过一个简单的脚本来在 RHEL 及其衍生产品(如 CentOS、Oracle Linux、Rocky Linux、AlmaLinux)上安装 Nginx。这个脚本将帮助您设置 Nginx 包存储库,并安装 Nginx,确保您能够一次性完成所有操作。Nginx官方安装指南
准备工作
在开始之前,请确保您有足够的权限来执行以下命令,通常需要 root 权限或使用 sudo。
安装脚本
- 将下述脚本复制到一个文本文件中,保存为
install_nginx.sh
。
[root@LH2020 ~]# vim install_nginx.sh
#!/bin/bash# 安装 yum-utils
echo "安装 yum-utils..."
sudo yum install -y yum-utils# 创建 Nginx 存储库配置文件
echo "设置 Nginx 存储库..."
cat > /etc/yum.repos.d/nginx.repo <<EOF
[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
EOF# 启用主线 Nginx 存储库(如果需要)
echo "启用 nginx-mainline 存储库..."
sudo yum-config-manager --enable nginx-mainline# 安装 Nginx
echo "安装 Nginx..."
sudo yum install -y nginx# 接受 GPG 密钥
echo "接受 GPG 密钥..."
sudo rpm --import https://nginx.org/keys/nginx_signing.key
sudo yum updateinfoecho "Nginx 安装完成!"
- 通过在终端中运行
chmod +x install_nginx.sh
命令,使脚本可执行。
[root@LH2020 ~]# ll install_nginx.sh
-rw-r--r-- 1 root root 973 Nov 4 16:16 install_nginx.sh
[root@LH2020 ~]# chmod +x install_nginx.sh
[root@LH2020 ~]# ll install_nginx.sh
-rwxr-xr-x 1 root root 973 Nov 4 16:16 install_nginx.sh
- 运行脚本:
./install_nginx.sh
。
[root@LH2020 ~]# ./install_nginx.sh
......
检查是否安装成功
[root@LH2020 ~]# nginx -v
nginx version: nginx/1.27.0
[root@LH2020 ~]# systemctl status nginx
● nginx.service - nginx - high performance web serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)Active: inactive (dead)Docs: http://nginx.org/en/docs/
[root@LH2020 ~]# systemctl start nginx
[root@LH2020 ~]# systemctl status nginx
● nginx.service - nginx - high performance web serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)Active: active (running) since Mon 2024-11-04 16:22:43 CST; 2s agoDocs: http://nginx.org/en/docs/Process: 16646 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)Main PID: 16647 (nginx)CGroup: /system.slice/nginx.service├─16647 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf├─16648 nginx: worker process└─16649 nginx: worker processNov 04 16:22:43 LH2020 systemd[1]: Starting nginx - high performance web server...
Nov 04 16:22:43 LH2020 systemd[1]: Started nginx - high performance web server.
注意事项
- 在运行脚本时,系统可能会提示您接受 GPG 密钥。请确保指纹与
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
匹配,然后接受它。 - 如果您遇到网络问题,无法访问 Nginx 的存储库或密钥服务器,请检查您的网络连接,并确保您的系统时间是准确的,因为 GPG 密钥验证依赖于正确的时间设置。
结语
通过这个简单的脚本,您可以快速地在 RHEL 及其衍生产品上安装 Nginx。希望这篇文章能帮助您更高效地管理您的服务器环境。