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


目录

  • 1. Nginx下载
  • 2. 系统准备
  • 3. Nginx安装
    • 3.1 安装方式
    • 3.2 依赖准备
      • 1)GCC编译器
      • 2)PCRE
      • 3)zlib
      • 4)OpenSSL
    • 3.3 源码下载
    • 3.4 解压编译
    • 3.5 Nginx目录结构
    • 3.6 配置环境变量
  • 4. Nginx基本命令
    • 4.1 检查配置文件的正确性
    • 4.2 查看Nginx配置文件
    • 4.3 启动Nginx服务
    • 4.4 停止Nginx服务
    • 4.5 重新加载配置文件


1. Nginx下载

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

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

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第1张图片

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第2张图片


2. 系统准备


(1) 确认centos的内核

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

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

    image-20221120211855034

(2) 确保 CentOS 能联网

ping www.baidu.com

(3) 确认关闭防火墙

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

(4) 确认停用selinux

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

  • sestatus 查看状态:

    sestatus
    

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第3张图片

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

vim /etc/selinux/config

【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第4张图片


3. Nginx安装


3.1 安装方式

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

3.2 依赖准备

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第5张图片

1)GCC编译器

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

  • 使用下面命令来安装:

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

2)PCRE

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

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

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

3)zlib

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

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

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

4)OpenSSL

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

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

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

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

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

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

3.3 源码下载

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第6张图片


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

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

    image-20221120214542925

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第7张图片


3.4 解压编译

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

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

    cd nginx/core
    
  • 解压:

    tar -zxvf nginx-1.22.1.tar.gz
    

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第8张图片

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

    cd nginx-1.22.1
    

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第9张图片

  • 创建 Nginx 的安装路径:

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

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第10张图片

  • 然后执行编译和安装:

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第11张图片


3.5 Nginx目录结构

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第12张图片

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

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

  • logs:存放日志文件。

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


3.6 配置环境变量

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

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

    PATH=/usr/local/nginx/sbin:
    

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第13张图片

    :wq 保存退出。

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

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

    nginx -v
    

    image-20221121115824835

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


4. Nginx基本命令


4.1 检查配置文件的正确性

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

    nginx -t
    

    image-20221121120212124

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


4.2 查看Nginx配置文件

  • 打开 Nginx 的配置文件:

    vim /usr/local/nginx/conf/nginx.conf
    

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第14张图片

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

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

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

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第15张图片


4.3 启动Nginx服务

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

    nginx
    

    image-20221121120447920

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

    ps -ef | grep nginx
    

    image-20221121120557034

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

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

    http://192.168.148.100:80
    

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第16张图片

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

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

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第17张图片

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第18张图片

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

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

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

      image-20221121122426293

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

      image-20221121122503422


4.4 停止Nginx服务

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

    nginx -s stop
    

    image-20221121121843224

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

    ps -ef | grep nginx
    

    image-20221121121941818

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


4.5 重新加载配置文件

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

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

    vim /usr/local/nginx/conf/nginx.conf
    

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第19张图片

    :wq 保存退出。

  • 重新加载配置文件:

    nginx -s reload
    
  • 查看 Nginx 进程:

    ps -ef | grep nginx
    

    【Nginx】在Linux上如何安装Nginx教程+Nginx基本命令的使用_第20张图片

    可以看到 2 个 worker 进程。

你可能感兴趣的:(Nginx,linux,nginx,运维)