Linux(CentOS)安装Nginx图文教程

 更新时间:2026年04月15日 10:16:45   作者:BillKu  
本文文介绍了两种安装Nginx的方式:通过yum安装和通过编译源码包安装,yum安装简单,全程无忧,但需root权限;编译安装需具备配置相关操作,但安装后可能定制化更强,最后附上了设置Nginx服务开机启动的方法

CentOS版本:CentOS 7

Nginx版本:1.24.0

两种安装方式:

  • 1、通过 yum 安装,最简单,一键安装,全程无忧。
  • 2、通过编译源码包安装,需具备配置相关操作。

最后附+:设置 Nginx 服务开机启动

一、通过 yum 安装

需要 root 权限,普通用户使用 sudo 进行命令操作

安装参考信息:https://nginx.org/en/linux_packages.html#RHEL

1、安装依赖

sudo yum install yum-utils

2、创建仓库文件

在 /etc/yum.repos.d 目录下创建仓库文件 nginx.repo,并在文件中添加以下内容:

sudo vim /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
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

3、安装 Nginx

默认情况下,安装 Stable version 当前稳定版本

【sudo yum-config-manager --enable nginx-mainline 不会设置,暂时不会安装指定版本】

sudo yum install nginx

 

查看 nginx 安装目录

whereis nginx

  • /usr/sbin 目录存放 nginx 启动程序
  • /etc/nginx 目录存放 nginx 配置文件
  • /usr/share/html 目录存放网站项目文件 

4、开放端口 80

检查端口是否开放

sudo firewall-cmd --zone=public --query-port=80/tcp

开放端口

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

重新加载

sudo firewall-cmd --reload

再检查端口是否开放

sudo firewall-cmd --zone=public --query-port=80/tcp

5、启动 Nginx

sudo nginx

6、验证 Nginx

在远程终端,打开浏览器,输入ip,回车

二、通过编译源码包安装

需要 root 权限,使用 root 用户进行命令操作

编译源码包:.tar.gz 或 .tar 包文件

1、下载 Nginx

在远程终端计算机上,打开Nginx官网:https://nginx.org/,下载文件

2、上传 Nginx 文件到 CentOS

使用FinalShell远程登录工具,并且使用 root 用户连接登录(注意这里说的root用户连接登录是指这样的)

 

也可以使用 wget 命令直接下载到 CentOS,前提需要安装好 wget

获取下载地址:​​​​​https://nginx.org/download/nginx-1.26.2.tar.gz

wget https://nginx.org/download/nginx-1.26.2.tar.gz

 

3、解压 Nginx

创建目录 /export/server

mkdir -p /export/server

解压到目录 /export/server

  • .tar.gz 格式的为打包压缩,使用 tar -zxvf,解压后是一个与文件名同名的目录。
  • .tar 格式的为打包不压缩,使用 tar -xvf,解压后是相关的文件,不是目录。
tar -zxvf nginx-1.24.0.tar.gz -C /export/server

查看解压后情况

ls -l /export/server

4、安装编译环境和依赖

安装 gcc-c++ 编译器

因为 nginx 是使用C语言开发的,所以需要安装相关的编译环境来对其进行编译安装

yum -y install gcc-c++

 

yum install -y openssl openssl-devel

 

 

安装 pcre 

PCRE(Perl Compatible Regular Expressions)是一个用C语言编写的正则表达式函数库,nginx 对其有依赖

yum install -y pcre pcre-devel

安装 zlib 

zlib 是一个提供数据压缩的函数库,nginx 对其有依赖

yum install -y zlib zlib-devel

5、安装 Nginx

 进入到解压后的 nginx 目录下 /export/server/nginx-1.24.0

cd /export/server/nginx-1.24.0

查看目录内容

ls -l

配置安装目录,将安装到 /export/server/nginx 这个目录下

./configure --prefix=/export/server/nginx

执行 make 和 make install 命令进行编译安装 

编译

make

安装 

make install

查看安装后的情况,目录  /export/server 中多了 nginx 目录

ls -l /export/server

查看目录 /export/server/nginx 的内容

ls -l /export/server/nginx

6、开放端口 80

检查端口是否开放

firewall-cmd --zone=public --query-port=80/tcp

开放端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新加载

firewall-cmd --reload

再检查端口是否开放

firewall-cmd --zone=public --query-port=80/tcp

7、启动 Nginx

进入到 nginx 安装目录下的 sbin,即是目录 /export/server/nginx/sbin,查看目录内容

cd /export/server/nginx/sbin
ls -l

启动 nginx

./nginx

查看 nginx 相关的进程

ps -ef | grep nginx

8、验证 Nginx

在其他终端,打开浏览器,输入ip,回车

9、删除编译源码包和安装解压目录

删除编译源码包 nginx-1.24.0.tar.gz

rm /root/nginx-1.24.0.tar.gz

删除安装解压目录 /export/server/nginx-1.24.0

rm -rf /export/server/nginx-1.24.0

附+:设置 Nginx 服务开机启动

需要 root 权限,使用 root 用户进行命令操作

原理:利用 systemctl 管理服务

1、新建服务

在 /usr/lib/systemd/system 目录下,新建 nginx.service 文件,配置内容

vim /usr/lib/systemd/system/nginx.service

配置内容如下: 

[Unit]
Description=Nginx Server
After=nginx.service

[Service]
User=root
Group=root
Type=forking
ExecStart=/export/server/nginx/sbin/nginx -c /export/server/nginx/conf/nginx.conf
ExecStop=/export/server/nginx/sbin/nginx -s quit
ExecReload=/export/server/nginx/sbin/nginx -s reload
Restart=on-failure
PrivateTmp=true

[Install]
WantedBy=multi-user.target

2、重新加载 systemctl

systemctl daemon-reload

3、启动 Nginx

systemctl start nginx.service;ps -ef | grep nginx

4、设置 Nginx 开机启动

设置开机启动

systemctl enable nginx.service

查看设置情况

systemctl is-enabled nginx

5、重启计算机

reboot

6、验证 Nginx 开机启动

systemctl status nginx.service;ps -ef | grep nginx

附+:Nginx 的其他命令

1、取消 Nginx 开机启动

systemctl disable nginx.service

2、重启 Nginx

当前 Nginx 运行或停止状态都可以 restart

systemctl restart nginx.service

 只能在当前 Nginx 运行状态 reload

systemctl reload nginx.service

3、停止 Nginx

systemctl stop nginx.service

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Apache 认证总结

    Apache 认证总结

    经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问。
    2009-05-05
  • 浅谈Linux中ldconfig和ldd的用法

    浅谈Linux中ldconfig和ldd的用法

    下面小编就为大家带来一篇浅谈Linux中ldconfig和ldd的用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux中利用sudo进行赋权的方法详解

    Linux中利用sudo进行赋权的方法详解

    sudo的目的:为非根用户授予根用户的权限,下面这篇文章主要给大家介绍了关于Linux中利用sudo进行赋权的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-01-01
  • 解决Linux中“command not found”错误的终极指南

    解决Linux中“command not found”错误的终极指南

    在 Linux 系统中操作时,你可能会遇到一个常见的错误消息:“command not found”,这个错误通常出现在你尝试运行一个不存在或系统找不到的命令时,本文将带你了解这一错误的原因,并提供详细的解决方法,需要的朋友可以参考下
    2025-08-08
  • Apache Kafka 跨集群复制实现方案详解

    Apache Kafka 跨集群复制实现方案详解

    本文介绍Apache Kafka 跨集群复制实现方案,文章比较了Kafka中的跨集群复制方案,包括MirrorMaker1和MirrorMaker2,MirrorMaker2基于KafkaConnect框架,支持双向复制、自动消费者组同步、自动Topic创建等特性,是当前推荐方案,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • apache配置访问站点下所有文件的实现

    apache配置访问站点下所有文件的实现

    本文主要介绍了配置Apache服务器以实现对根目录下目录的访问控制,包括无限制访问和有限制访问,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • Linux下PhpMyAdmin程序目录结构的安全管理

    Linux下PhpMyAdmin程序目录结构的安全管理

    Linux下开发Web程序,现在很流行的开发方法为:用PHP开发Web程序,用Apache做Web Server,Mysql充当后台管理数据库。
    2011-04-04
  • Ubuntu20.04内存不足导致无法开机的解决方法

    Ubuntu20.04内存不足导致无法开机的解决方法

    Ubuntu因内存不足无法启动时,需进入恢复模式删除冗余文件释放内存,或通过虚拟机扩展硬盘并用gparted调整分区扩容,最后重启系统以恢复正常运行,本文通过图文给大家介绍的非常详细,需要的朋友可以参考下
    2025-06-06
  • 在Linux中如何列出和删除Iptables防火墙规则

    在Linux中如何列出和删除Iptables防火墙规则

    当涉及到网络安全时,防火墙是一个至关重要的组成部分,Iptables是一种常用的防火墙解决方案,可以帮助管理员保护他们的系统免受恶意攻击,本文将详细介绍如何列出和删除Iptables防火墙规则,以帮助您更好地管理系统的安全性
    2023-06-06
  • centos6.5下svn的使用说明

    centos6.5下svn的使用说明

    这篇文章主要介绍了centos6.5下svn的使用说明的相关资料,方法非常的实用,有需要的小伙伴可以参考下
    2016-10-10

最新评论