• 【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用




    1. Nginx下载

    • Nginx 官网:https://nginx.org

    • Nginx官方源码下载地址:https://nginx.org/download

    • 打开官网并在右侧栏点击【download】。

      image-20221120205823366

    • 笔者是将 Nginx 部署到 Linux 服务器上,我们选取最新的稳定版 1.22.1 下载:

      image-20221120210608003


    2. 系统准备


    (1) 确认centos的内核

    • 准备一个内核为 2.6 及以上版本的 CentOS 操作系统,因为 linux 2.6 及以上内核才支持 epoll,而 Nginx 需要解决高并发压力问题是需要用到epoll,所以我们需要有这样的版本要求。

    • 我们可以使用 uname -a 命令来查询 linux 的内核版本。

      image-20221120211855034

    (2) 确保 CentOS 能联网

    ping www.baidu.com
    
    • 1

    (3) 确认关闭防火墙

    • 这一项的要求仅针对于那些对 Linux 系统的防火墙设置规则不太清楚的。嫌麻烦的可以把防火墙都关闭掉,因为我们此次课程主要的内容是对 Nginx 的学习,把防火墙关闭掉,可以省掉后续 Nginx 学习过程中遇到的诸多问题。

    (4) 确认停用selinux

    • selinux (security-enhanced linux),美国安全局对于强制访问控制的实现,在 linux 2.6 内核以后的版本中,selinux 已经成功内核中的一部分。可以说 selinux 是 linux 史上最杰出的新安全子系统之一。虽然有了selinux,我们的系统会更安全,但是对于我们的学习 Nginx 的历程中,会多很多设置,所以这块建议大家将 selinux 进行关闭。

    • sestatus 查看状态:

      sestatus
      
      • 1

      image-20221120212220146

    • 如果查看不是 disabled 状态,我们可以通过修改配置文件来进行设置,修改 SELINUX=disabled ,然后重启下系统即可生效。

    vim /etc/selinux/config
    
    • 1

    1581419902873


    3. Nginx安装


    3.1 安装方式

    • Nginx 的安装方式有两种分别是:
      • 通过Nginx源码
        通过Nginx源码简单安装 (1)
        通过Nginx源码复杂安装 (3)
      • 通过yum安装 (2)

    3.2 依赖准备

    • 如果通过 Nginx 源码安装需要提前准备的内容:

      image-20221120214226095

    1)GCC编译器

    • Nginx 是使用 C 语言编写的程序,因此想要运行 Nginx 就需要安装一个编译工具。GCC 就是一个开源的编译器集合,用于处理各种各样的语言,其中就包含了 C 语言。

    • 使用下面命令来安装:

      yum install -y gcc
      
      • 1
    • 安装成功后,可以通过 gcc --version 来查看 GCC 是否安装成功。

    2)PCRE

    • Nginx 在编译过程中需要使用到 PCRE 库(Perl Compatible Regular Expressoin 兼容正则表达式库),因为在 Nginx 的 Rewrite 模块和 http 核心模块都会使用到 PCRE 正则表达式语法。

    • 可以使用下面命令来进行安装:

      yum install -y pcre pcre-devel
      
      • 1
    • 安装成功后,可以通过 rpm -qa pcre pcre-devel 来查看是否安装成功

    3)zlib

    • zlib 库提供了开发人员的压缩算法,在 Nginx 的各个模块中需要使用 gzip 压缩,所以我们也需要提前安装其库及源代码 zlib 和 zlib-devel 。

    • 可以使用下面命令来进行安装:

      yum install -y zlib zlib-devel
      
      • 1
    • 安装成功后,可以通过 rpm -qa zlib zlib-devel 来查看是否安装成功。

    4)OpenSSL

    • OpenSSL 是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。

    • SSL:Secure Sockets Layer,安全套接协议的缩写,可以在 Internet 上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。在 Nginx 中,如果服务器需要提供安全网页时就需要用到 OpenSSL 库,所以我们需要对 OpenSSL 的库文件及它的开发安装包进行一个安装。

    • 可以使用下面命令来进行安装:

      yum install -y openssl openssl-devel
      
      • 1
    • 安装成功后,可以通过 rpm -qa openssl openssl-devel 来查看是否安装成功。

    • 上述命令,一个个来的话比较麻烦,我们也可以通过一条命令来进行全部安装:

      yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
      
      • 1

    3.3 源码下载

    • 选择最新稳定版,复制链接:

      image-20221120214406167


    • 到 Linux 命令行上使用 wget 命令进行下载:

      wget https://nginx.org/download/nginx-1.22.1.tar.gz
      
      • 1

      image-20221120214542925

    • 可以看到是下载到 pwd 当前工作目录 /root 的:

      image-20221120214621983


    3.4 解压编译

    • 创建一个文件夹专门存放 Nginx 的源码压缩包:

      mkdir -p nginx/core
      mv nginx-1.22.1.tar.gz nginx/core
      
      • 1
      • 2
    • 进入 Nginx 目录下:

      cd nginx/core
      
      • 1
    • 解压:

      tar -zxvf nginx-1.22.1.tar.gz
      
      • 1

      image-20221121112820229

    • 进入解压出来的文件夹:

      cd nginx-1.22.1
      
      • 1

      image-20221121112923910

    • 创建 Nginx 的安装路径:

      mkdir -p /usr/local/nginx
      
      • 1
    • 使用 configure 指定安装路径到 /usr/local/nginx

      ./configure --prefix=/usr/local/nginx
      
      • 1

      image-20221121113559519

    • 然后执行编译和安装:

      make && make install
      
      • 1
    • 安装好之后有 4 个目录:

      image-20221121113827599


    3.5 Nginx目录结构

    • 我们来熟悉一下 Nginx 的目录结构:

      image-20221121114722399

    • conf:存放配置文件。我们要操作的最核心的就是 nginx.conf

    • html:存放静态文件。如 HTML 页面、CSS 样式文件、JS 文件等。

    • logs:存放日志文件。

    • sbin:存放 Nginx 的脚本文件,用于启动 / 停止 Nginx 服务。


    3.6 配置环境变量

    • 打开 Linux 系统的环境变量文件:

      vim /etc/profile
      
      • 1
    • PATH 这一行加上:

      PATH=/usr/local/nginx/sbin:
      
      • 1

      image-20221121115453952

      :wq 保存退出。

    • 重新加载环境变量文件:

      source /etc/profile
      
      • 1
    • 测试:查看 Nginx 的版本号:

      nginx -v
      
      • 1

      image-20221121115824835

      如果能正确显示版本号则说明 Nginx 安装成功且环境变量生效。


    4. Nginx基本命令


    4.1 检查配置文件的正确性

    • 在启动 Nginx 服务之前,可以先检查一下 conf/nginx.conf 文件配置是否有错误。命令如下:

      nginx -t
      
      • 1

      image-20221121120212124

      如果返回的结果为 oksuccessful ,则说明配置文件 nginx.conf 没有错误,可以启动 Nginx 服务。


    4.2 查看Nginx配置文件

    • 打开 Nginx 的配置文件:

      vim /usr/local/nginx/conf/nginx.conf
      
      • 1

      image-20221121121136363

    • 我们要开放 80 端口的防火墙:

      firewall-cmd --zone=public --add-port=80/tcp --permanent
      
      • 1
    • 让防火墙开放立即生效:

      firewall-cmd --reload
      
      • 1
    • 查看已经开放的端口:

      firewall-cmd --zone=public --list-ports
      
      • 1

      image-20221121121410955


    4.3 启动Nginx服务

    • 输入下面命令启动 Nginx 服务:

      nginx
      
      • 1

      image-20221121120447920

    • Nginx 是在后台运行的,可以查看是否有 Nginx 相关的进程:

      ps -ef | grep nginx
      
      • 1

      image-20221121120557034

      可以看到有 1 个 master 进程和 1 个 worker 进程,说明 Nginx 服务已经成功运行了。

    • 我们可以打开浏览器,地址栏输入 server100 这台主机的 IP 地址:

      http://192.168.148.100:80
      
      • 1

      image-20221121121501798

      能成功访问,说明 Nginx 服务已经启动成功了。

    • 启动完成后,Nginx 的目录结构发生了变化:

      image-20221121122119920

    • 以下划线 _temp 结尾的临时目录,都不用关注。

    • 重点看 logs 日志目录,产生了 2 个文件:

      • access.log 记录的是访问日志。

        image-20221121122426293

      • error.log 记录的是错误日志。

        image-20221121122503422


    4.4 停止Nginx服务

    • 输入下面命令停止 Nginx 服务:

      nginx -s stop
      
      • 1

      image-20221121121843224

    • 查看进程看还有没有 Nginx :

      ps -ef | grep nginx
      
      • 1

      image-20221121121941818

      已经没有 master 进程和 worker 进程,说明 Nginx 服务已经停止运行了。


    4.5 重新加载配置文件

    • 当修改 Nginx 配置文件后,需要重新加载才能生效,可以使用下面命令重新加载配置文件:

      nginx -s reload
      
      • 1
    • 举例,修改配置文件,使得 worker 进程数为 2 :

      vim /usr/local/nginx/conf/nginx.conf
      
      • 1

      image-20221121122849457

      :wq 保存退出。

    • 重新加载配置文件:

      nginx -s reload
      
      • 1
    • 查看 Nginx 进程:

      ps -ef | grep nginx
      
      • 1

      image-20221121123022122

      可以看到 2 个 worker 进程。

  • 相关阅读:
    el-table中添加switch 且绑定值为0和1
    游戏编程精粹2目录
    C++ 外观模式的实现
    一套简单的机器人短途路径规划算法
    F28335-可移植新建工程模板-基于bitfield
    鸿蒙原生应用开发-折叠屏、平板设备服务卡片适配
    【navicat 密码查看】小技巧navicat 如何查看密码
    怎么压缩PDF文件大小?分享几个压缩文件的方法
    python多线程编程: 如何暴力但不失优雅地关闭线程
    GoLang之channel数据结构及阻塞、非阻塞操作、多路select
  • 原文地址:https://blog.csdn.net/Sihang_Xie/article/details/127963138