Linux系统安装Nginx详解(适用于CentOS 7)

server/2025/2/8 17:17:16/

目录

1. 更新系统包

2. 安装EPEL仓库

3. 安装Nginx

4. 启动Nginx服务

5. 设置Nginx开机自启

6. 检查Nginx状态

7. 配置防火墙

8. 访问Nginx默认页面

9. 配置Nginx(可选)

10. 重启Nginx

解决步骤

1. 检查系统版本

2. 移除错误的 Nginx 仓库

3. 添加正确的 Nginx 官方仓库


在CentOS系统上安装Nginx的步骤如下:

1. 更新系统包

首先,确保系统包是最新的:

sudo yum update -y

2. 安装EPEL仓库

Nginx在默认的CentOS仓库中不可用,因此需要安装EPEL(Extra Packages for Enterprise Linux)仓库:

sudo yum install epel-release -y

3. 安装Nginx

安装EPEL仓库后,使用以下命令安装Nginx:

sudo yum install nginx -y

4. 启动Nginx服务

安装完成后,启动Nginx服务:

sudo systemctl start nginx

5. 设置Nginx开机自启

为了让Nginx在系统启动时自动启动,运行以下命令:

sudo systemctl enable nginx

6. 检查Nginx状态

确认Nginx服务是否正常运行:

sudo systemctl status nginx

7. 配置防火墙

如果系统启用了防火墙,需要允许HTTP(80端口)和HTTPS(443端口)流量:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

8. 访问Nginx默认页面

在浏览器中输入服务器的IP地址或域名,例如:

http://your_server_ip

如果看到Nginx的欢迎页面,说明安装成功。

9. 配置Nginx(可选)

Nginx的配置文件位于 /etc/nginx/nginx.conf,站点配置文件通常放在 /etc/nginx/conf.d/ 目录下。你可以根据需要编辑这些文件来配置Nginx。

10. 重启Nginx

修改配置后,重启Nginx以使更改生效:

sudo systemctl restart nginx

总结

通过以上步骤,你已经在CentOS系统上成功安装并配置了Nginx。你可以根据需要进一步配置Nginx来托管网站或应用程序。

可能遇到的问题(报错了怎么办?)

错误一

如果你在 第一步更新系统包  时报错:

repo 1.5 kB/s | 1.9 kB 00:01 Errors during downloading metadata for repository 'nginx-stable': - Status code: 404 for http://nginx.org/packages/centos/3/x86_64/repodata/repomd.xml (IP: 52.58.199.22) Error: Failed to download metadata for repo 'nginx-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

从错误信息来看,nginx-stable 仓库的 URL 似乎有问题,导致无法下载元数据。

如果你正在使用 CentOS 7 或 CentOS 8,请按照以下步骤修复问题并正确安装 Nginx:


解决方案一:

1. 检查系统版本

确认你的 CentOS 版本:

cat /etc/centos-release
  • 如果你使用的是 CentOS 3,建议升级到 CentOS 7 或更高版本,因为 CentOS 3 已经停止支持。

  • 如果你使用的是 CentOS 7 或 CentOS 8,请继续以下步骤。


2. 移除错误的 Nginx 仓库

如果系统中存在错误的 nginx-stable 仓库配置,需要先移除它:

sudo rm -f /etc/yum.repos.d/nginx-stable.repo

3. 添加正确的 Nginx 官方仓库

根据你的 CentOS 版本,添加正确的 Nginx 官方仓库。

对于 CentOS 7:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://nginx.org/packages/centos/7/x86_64/

解决方案二:

这个错误通常是因为 nginx-stable 仓库的 URL 地址不正确,导致无法下载其元数据文件(repomd.xml)。

  1. 编辑 nginx-stable 仓库配置文件

    使用编辑器打开仓库配置文件:

    sudo vi /etc/yum.repos.d/nginx.repo
    
  2. 检查并修改 URL

    确保 [nginx-stable] 部分的 URL 正确。比如,仓库的 URL 可能应该是:

    [nginx-stable]
    name=nginx-stable repo
    baseurl=http://nginx.org/packages/centos/7/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    

    这里的 baseurl 为 CentOS 7 版本。如果你的操作系统版本不同(如 CentOS 8 或其他),请根据实际版本修改 URL。

  3. 保存并退出: 按 Esc 键后,输入 :wq 保存并退出编辑器。

  4. 清理 YUM 缓存: 更新仓库配置后,清理 YUM 缓存:

    sudo yum clean all
    
  5. 再次尝试更新: 重新运行更新命令:

    sudo yum update -y
    

解决方案三(推荐):

使用官方仓库(或其他可靠源)

如果问题依旧,你可以尝试使用官方的 Nginx 仓库。以下是官方安装步骤:

  1. 下载并安装 Nginx 官方的 YUM 仓库:

    sudo curl -o /etc/yum.repos.d/nginx.repo https://nginx.org/packages/mainline/centos/nginx.repo
    
  2. 之后再次运行更新命令:

    sudo yum update -y
    

上述三种方案任选其一即可

总结:

  1. 检查和修复 Nginx 仓库的 URL 配置。
  2. 清理缓存并重新尝试更新。
  3. 如果 URL 无法使用,尝试使用 Nginx 官方仓库。

错误二

如果你在 第二步安装EPEL仓库  时报错:

Error: Problem: problem with installed package epel-aliyuncs-release-8-15.1.al8.noarch - package epel-aliyuncs-release-8-15.1.al8.noarch from @System conflicts with epel-release provided by epel-release-8-21.el8.noarch from epel - package epel-aliyuncs-release-8-15.1.al8.noarch from alinux3-updates conflicts with epel-release provided by epel-release-8-21.el8.noarch from epel - conflicting requests (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

你遇到的错误是因为系统中已经安装了一个与 epel-release 冲突的包:epel-aliyuncs-release,它来自阿里云的 EPEL 仓库。这两个包提供的内容相同,因此导致了冲突。

解决方法:

两种方法可以解决这个问题:

1. 使用 --allowerasing 选项强制替换冲突的包

你可以通过添加 --allowerasing 参数来允许卸载冲突的包,并安装正确的 epel-release 包。命令如下:

sudo yum install epel-release -y --allowerasing

2. 卸载冲突的 epel-aliyuncs-release

如果你希望安装官方的 epel-release 包,可以先卸载 epel-aliyuncs-release 包,然后再安装 epel-release 包:

  1. 卸载 epel-aliyuncs-release

    sudo yum remove epel-aliyuncs-release -y
    
  2. 安装官方的 epel-release

    sudo yum install epel-release -y
    

上述两种方法任选其一即可

错误三

如果你在 第三步安装Nginx  时报错:

sudo yum install nginx -y Warning: failed loading '/etc/yum.repos.d/nginx.repo', skipping. Last metadata expiration check: 10:48:16 ago on Thu 06 Feb 2025 12:28:01 PM CST. All matches were filtered out by exclude filtering for argument: nginx Error: Unable to find a match: nginx

你遇到的错误提示表明 yum 无法找到 nginx 包,可能有以下几种原因:

可能的原因:

  1. nginx.repo 文件缺失或配置错误
    • 提示 Warning: failed loading '/etc/yum.repos.d/nginx.repo', skipping.,这意味着 nginx.repo 文件缺失或配置不正确。
  2. 排除过滤(exclude filtering)
    • 错误中提到 All matches were filtered out by exclude filtering for argument: nginx,这通常意味着 yum 配置了某些排除规则,导致它无法找到 nginx 包。

解决方案:

1. 检查并配置 Nginx 仓库

首先,确保正确配置了 Nginx 的仓库。

  • 创建或编辑 Nginx 仓库配置文件

    使用以下命令创建或编辑 /etc/yum.repos.d/nginx.repo 文件:

    sudo vi /etc/yum.repos.d/nginx.repo
    

    添加以下内容,确保仓库地址正确。根据你的操作系统版本选择合适的 URL:

    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    

    这里的 baseurl 是针对 CentOS 7 的。如果你使用的是 CentOS 8 或其他版本,请根据你的系统调整 baseurl 地址。

  • 保存并退出:按 Esc 键,然后输入 :wq 保存并退出编辑器。

2. 清理缓存并重新运行安装命令

完成仓库配置后,清理 yum 缓存并重新运行安装命令:

sudo yum clean all
sudo yum install nginx -y

3. 检查 exclude 配置

如果你的 yum 配置中使用了排除规则,可能会导致 nginx 包被忽略。你可以检查 yum 配置文件是否有与 nginx 相关的排除规则。

  • 打开 /etc/yum.conf 文件:

    sudo vi /etc/yum.conf
    
  • 查找是否有 exclude 关键字,如果有,确保没有排除 nginx 或修改此行配置。

  • 如果有排除规则,可以注释掉相关行,或将 nginx 从排除列表中移除。

4. 安装 EPEL 仓库(如果尚未安装)

有时,nginx 可能在 EPEL 仓库中。如果你还没有安装 EPEL 仓库,可以通过以下命令安装:

sudo yum install epel-release -y
sudo yum install nginx -y

总结:

  • 检查并修复 Nginx 仓库配置,确保正确配置了 nginx.repo 文件。
  • 清理缓存并重新安装。
  • 检查排除配置,确保 nginx 没有被排除。


http://www.ppmy.cn/server/165993.html

相关文章

QWidget中嵌入QQuickWidget,从qml端鼠标获取经纬度点(double类型),发到c++端。把c++端的对象暴露个qml端调用

qml端鼠标选取点 c端接收 c端 先写一个类&#xff0c;专门用来接收&#xff0c;取名MouseDrawAirspace #ifndef MOUSEDRAWAIRSPACE_H #define MOUSEDRAWAIRSPACE_H#include <QVariant> #include <QObject> #include <QGeoCoordinate> #include <QDebu…

GitHub 使用教程:从入门到进阶

1. GitHub账号注册 访问 GitHub 官网 (https://github.com)点击 “Sign up” 按钮填写用户名、邮箱和密码验证邮箱完成注册 2. 基础配置 2.1 安装Git 访问 Git 官网下载安装包运行安装程序&#xff0c;按提示完成安装打开终端&#xff0c;设置用户信息&#xff1a; git co…

34.Word:公积金管理中心文员小谢【35】

目录 Word2.docx​ 业务网点素材.docx​ Wordl.docx邮件合并​ Word2.docx F12/另存为&#xff1a;考生文件夹&#xff1a;Word2.docx 布局样式的复制 插入公式&#xff1a;插入→公式→整体大纲→细节&#xff1a;下标/分式/上标/点/括号&#xff08;❌不能手动输入括号&am…

centos虚拟机迁移没有ip的问题

故事背景&#xff0c;我们的centos虚拟机本来是好好的&#xff0c;但是拷贝到其他电脑上就不能分配ip&#xff0c;我个人觉得这个vmware他们软件应该搞定这个啊&#xff0c;因为这个问题是每次都会出现的。 网络选桥接 网络启动失败 service network restart Restarting netw…

CVPR2021 | VMI-FGSM VNI-FGSM | 通过方差调整增强对抗攻击的可迁移性

Enhancing the Transferability of Adversarial Attacks through Variance Tuning 摘要-Abstract引言-Introduction相关工作-Related Work方法-Methodology动机-Motivation基于方差调整的梯度攻击-Variance Tuning Gradient-based Attacks不同攻击的关系-Relationships among V…

tolua[一]框架搭建,运行example

一.安装tolua https://github.com/topameng/tolua 下载LuaFramework_UGUI的zip 将Assets目录拷贝到项目根目录下 提示确认注册&#xff0c;遇到这个对话框点确定即可 生成如下目录 二.LuaFramework->Build Windows Resource 接下来的目标是将这个main场景跑起来 需要先执行…

PHP PDO 教程

PHP PDO 教程 概述 PHP PDO&#xff08;PHP Data Objects&#xff09;扩展为PHP提供了数据访问抽象层。PDO可以让你使用相同的接口访问多种数据库系统&#xff0c;这大大简化了数据库操作。本文将详细介绍PHP PDO的基本用法、优势以及在实际开发中的应用。 ##PDO 简介 PDO是…

Linux 系统上安装 Docker 方法详解与比较

Docker 是现代 DevOps 和容器化应用开发的重要工具&#xff0c;它简化了应用的部署和管理流程。本文将详细介绍在 Linux 系统上安装 Docker 的多种方法&#xff0c;并对它们的适用场景、优缺点进行对比&#xff0c;确保读者能够根据自身需求选择最优方案。 1. 官方推荐的安装方…