• Nginx的安装及启动【编译安装+Docker拉取安装(开发时首选)】


    一、环境准备

    (一)四项确认

    确认网络:

    ping www.baidu.com
    
    • 1

    确认yum可用

    yum list
    
    • 1

    确认防火墙是否关闭:

    #查看防火墙当前的状态
    firewall-cmd --state
    #关闭防火墙
    systemctl stop firewalld 
    #关闭防火墙自启动
    systemctl disable firewalld
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    确认SELinux:

    vim /etc/selinux/
    #修改SELINUX=disabled
    
    • 1
    • 2

    (二)一项安装

    yum -y install gcc make automake pcre-devel\
    zlib zlib-devel openssl openssl-devel
    
    • 1
    • 2

    在这里插入图片描述

    二、Nginx下载与安装

    官网下载Nginx软件:http://Nginx.org

    (一)Nginx源码编译安装

    (1)创建存放源文件的文件夹

    首先在目录/opt下创建apps目录,用于存放源文件以及解压后的文件

    mkdir -p /opt/apps
    
    • 1

    (2)上传Nginx到步骤1创建的目录下

    (3)解压Nginx

    [root@node1 apps]# pwd
    /opt/apps
    [root@node1 apps]# ls
    Nginx-1.20.1.tar.gz
    [root@node1 apps]# tar -zxvf Nginx1.20.1.tar.gz
    [root@node1
    apps]# cd Nginx-1.20.1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    进入到 Nginx 解压包目录/opt/apps/Nginx-1.20.1 目录中,查看 Nginx 的目录。
    其中各个目录中存放的文件作用为:
    在这里插入图片描述

    (4)生成makefile

    在 Nginx 解压目录下运行 make 命令,用于完成编译。但此时会给出提示:没有指定目标,并且没有发现编译文件 makefile。
    在这里插入图片描述
    编译命令 make 需要根据编译文件 makefile 进行编译,所以在编译之前需要先生成编译文件 makefile。使用 configure 命令可以生成该文件。那么,configure 命令需要配置些什么参数呢?使用–help 可以查看到可以使用的参数说明。
    在这里插入图片描述
    在这里插入图片描述
    安装编译参数
    在这里插入图片描述

    (5)配置参数

    [root@node1 Nginx-1.20.1]# mkdir -p /var/temp/nginx/client
    [root@node1 Nginx-1.20.1]# pwd
    /opt/apps/nginx-1.20.1
    [root@node1 Nginx-1.20.1]# ./configure \
    --prefix=/usr/local/nginx \
    --pid-path=/usr/local/nginx/logs/nginx.pid \
    --error-log-path=/usr/local/nginx/logs/error.log \
    --http-log-path=/usr/local/nginx/logs/access.log \
    --with-http_ssl_module \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/var/temp/nginx/client \
    --http-proxy-temp-path=/var/temp/nginx/proxy \
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    编译安装

    make && make install
    
    • 1

    这是两个命令,make 为编译命令,make install 为安装命令,
    可以分别执行。这里使用&&将两个命令连接执行,会在前面命
    令执行成功的前提下才会执行第二个命令。

    (二)Nginx目录详解

    执行命令 tree /application/Nginx ;如果tree命令找不到就执行 yum install tree -y安装
    conf目录
    Nginx所有配置文件的目录,极其重要。在该目录中包含一个Nginx.conf配置文件。
    html目录
    Nginx的默认站点目录。
    logs目录
    存放Nginx的日志文件。 access.log error.log
    sbin目录
    Nginx命令的目录,如Nginx的启动命令。

    (三)Docker安装Nginx

    (1)启动Docker

    systemctl start docker
    
    • 1

    (2)拉取官方的Nginx镜像

    docker pull Nginx
    
    • 1

    启动nginx容器示例

    docker run --rm --name 
    nginx-test -p 8080:80 -d nginx
    
    • 1
    • 2

    在这里插入图片描述

    (3)Nginx 服务部署,映射本地目录到Nginx容器

    创建本地目录,用于存放Nginx的相关文件信息

    mkdir -p /opt/nginx/www /opt/nginx/conf
    
    • 1

    在这里插入图片描述

    拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器ID可以查看 docker ps 命令输入中的第一列

    docker cp 358354f206fd:/etc/nginx/nginx.conf /home/nginx/conf/
    
    • 1

    358354f206fd不是固定值,是容器id

    三、Nginx服务的启动与停止

    在Linux 平台下,启动Nginx服务器直接运行安装目录下sbin目录中的二进制文件即可。

    (一)Nginx的启动

    ./Nginx -h
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    (二)Nginx的停止

    快速停止:

    快速停止是指立即停止当前Nginx服务正在处理的所有网络请求,马上丢弃连接,停止工作。

    nginx -s stop   # 快速关闭
    
    • 1

    平缓停止(推荐)

    平缓停止是指允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭连接,停止工作。

    nginx -s quit   # 等待工作进程处理完成后关闭
    
    • 1

    (三)Nginx的重启

    更改Nginx服务器的配置和加入新模块后,如果希望当前的Nginx服务应用新的配置或使新模块生效,就需要重启Nginx服务。当然我们可以先关闭Nginx服务,然后使用新的Nginx配置文件重启服务。

    Nginx -s reload # 向主进程发送信号,重新加载配置文件,热重启
    
    nginx -s reopen # 重启 nginx
    
    • 1
    • 2
    • 3

    以上是建立在配置完环境变量的基础上的运行指令
    没配置的会报命令找不到异常
    通过vim /etc/profile
    在path 中添加/usr/local/nginx/sbin即可

  • 相关阅读:
    Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心代码!
    Docker 笔记(一)--安装
    Java毕业设计-场地租赁管理系统
    maven构建拉依赖Malformed \uxxxx encoding
    【Unity3D】人物跟随鼠标位置
    Linux选择题笔记
    spring整合mybatis
    logback--基础--04--配置--appender
    如何像用自来水一样使用数据库|腾讯云数据库TDSQL-C
    使用GetX实现GetPage中间件
  • 原文地址:https://blog.csdn.net/weixin_52162723/article/details/126804834