Nginx详细安装篇(看完还能不会?)

序言

Nginx是一个开源的高性能、轻量级的Web服务器和反向代理服务器。 同时也还提供了IMAP/POP3/SMTP服务。它最初是由俄罗斯的程序设计工程师伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,其解决C10k问题(即处理数以万计并发连接的问题 )。

Nginx第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日Nginx 1.0.4发布。

它是一款轻量级的Web服务器,被广泛用于构建静态资源服务器(如HTML文件、图像文件等)、负载均衡器、反向代理服务器和HTTP缓存等。并支持FastCGI、uWSGI、SCGI和HTTP等多种协议与后端应用程序进行通信。除了性能优势外,Nginx还提供了丰富的模块化功能。通过添加不同的模块,可以扩展Nginx的功能,如SSL/TLS支持、gzip压缩、URL重写、访问控制和流量限制等。此外Nginx是高性能的HTTP和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达50000个并发 连接数,并且支持热部署,可以做到7×24不间断运行 。甚至几个月都不需要重新启动。

总的来说,Nginx是一款功能强大、高性能的Web服务器和反向代理服务器,适用于各种规模的网站和应用程序。它非常受欢迎,并得到了许多大型网站和公司的广泛采用。

本文着重介绍如下几个平台的详细安装:

Windows 10、Linux(Centos 7、Ubuntu 23)

<math xmlns="http://www.w3.org/1998/Math/MathML"> 注:推荐使用源码包方式安装 N g i n x ,灵活安装!! \color{#f00}{注:推荐使用源码包方式安装Nginx,灵活安装!!} </math>注:推荐使用源码包方式安装Nginx,灵活安装!! <math xmlns="http://www.w3.org/1998/Math/MathML"> 注:这里我暂时讲解安装 N g i n x 哟,后面会更新 n g i n x 深入的使用文章!! \color{#f00}{注:这里我暂时讲解安装Nginx哟,后面会更新nginx深入的使用文章!!} </math>注:这里我暂时讲解安装Nginx哟,后面会更新nginx深入的使用文章!!

一:Nginx软件包下载

(一):可编译源码包下载

源码包我们就可以直接推荐在官方网站下载:跳转地址 具体可以按照如下方式下载。
Linux版本则是通用的

(二):deb包下载(Debian派系如Debina、Ubuntu)

sh 复制代码
"注意:不同的Ubuntu版本获取的Nginx版本会不同,遵循它给定的版本,高版本可能不兼容;"
"Ⅰ:获取当前Ubuntu版本的镜像库最新的Nginx版本:"
    sudo apt show nginx | grep "Version"
        ■ 在Ubuntu 22版本下执行打印:
            Version: 1.18.0-6ubuntu14.4
        ■ 在Ubuntu 23版本下执行打印:
            Version: 1.24.0-1ubuntu1
"Ⅱ:也可以通过如下命令来查看所有版本及当前版本的镜像地址的相对路径"
    sudo apt-cache show nginx | grep -nE 'Version|Filename'
        ■ 在Ubuntu 23版本下执行打印:
            3:Version: 1.24.0-1ubuntu1
            15:Filename: pool/main/n/nginx/nginx_1.24.0-1ubuntu1_amd64.deb
        ■ 在Ubuntu 22版本下执行打印:
            3:Version: 1.18.0-6ubuntu14.4
            13:Filename: pool/main/n/nginx/nginx_1.18.0-6ubuntu14.4_amd64.deb
            31:Version: 1.18.0-6ubuntu14.3
            41:Filename: pool/main/n/nginx/nginx_1.18.0-6ubuntu14.3_amd64.deb
            59:Version: 1.18.0-6ubuntu14
            69:Filename: pool/main/n/nginx/nginx_1.18.0-6ubuntu14_amd64.de
"Ⅲ:获取到如上的一些信息就可以进行下载了;"
    镜像地址:http://archive.ubuntu.com/ubuntu/
    访问地址:
        前缀地址+Filename后缀地址
        如:http://archive.ubuntu.com/ubuntu/pool/main/n/nginx/nginx_1.24.0-1ubuntu1_amd64.deb
    也可以去nginx镜像库查看:
        如:http://archive.ubuntu.com/ubuntu/pool/main/n/nginx/
    使用wget下载:
        wget http://archive.ubuntu.com/ubuntu/pool/main/n/nginx/nginx_1.24.0-1ubuntu1_amd64.deb
"注:使用如上方式可以下载任意程序的.deb安装包"

(三):rpm包下载(红帽派系如RatHat、Centos)

RPM包安装简单又方便,可以直接通过systemctl命令启动关闭等等操作,官方网站下载:跳转地址

直接点击需要的版本下载即可,这里我选择的是:nginx-1.24.0-1.el7.ngx.x86_64.rpm

也可以在Linux中直接使用wget下载,执行如下命令:

wget nginx.org/packages/rh...

二:源码包安装方式

(一):Ubuntu23、Centos7环境下安装编译

这两个派系的Linux安装方式基本上都是一样的,只有第一步不一样,因为他们使用的包管理器不同。

sh 复制代码
"Ⅰ:依赖环境安装(若存在则忽略;但若是在内网环境则需要使用rpm或dpkg方式安装上面的每一个包) "
    "注意:若是RedHat或者Centos安装Nginx则需要执行下面这 4 行命令!!!"
    1:安装编译时依赖的gcc环境
        yum -y install gcc gcc-c++ autoconf automake make
    2:安装pcre,它提供nginx支持重写功能
        yum -y install pcre pcre-devel
    3:安装zlib,这个zlib库提供了很多压缩和解压缩的方式,nginx使用zlib对http包内容进行gzip压缩
        yum -y install zlib zlib-devel make libtool
    4:安装openssl,因为涉及到Https(安全套接字层密码库,用于通信加密)
        yum -y install openssl openssl-devel
    "注意:若是Debian或者Ubuntu安装Nginx则需要执行下面这 1 行命令!!!"
        sudo apt update 
        sudo apt install make gcc libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
        注:是"Ubuntu 22版本"执行依赖环境会弹出:"Daemons using outdated libraries" 
            >> 直接【Tab键】选择<Cancel>即可,选择<OK>则是重启带*的服务,可能会断开连接。
        
        
#### 下面这些代码都是通用的 ####
"Ⅱ:解压之前上传的tar.gz文件"
    ## 直接下载则在Linux运行:wget http://nginx.org/download/nginx-1.24.0.tar.gz
    tar -zxvf nginx-1.24.0.tar.gz
    
"Ⅲ:生成Makefile可编译文件"
    cd nginx-1.24.0
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
        # 其它可选参数:
        #    --prefix=PATH:指定nginx的安装目录(默认/usr/local/nginx)
        #    --conf-path=PATH:指定nginx.conf配置文件路径
        #    --user=NAME:nginx工作进程的用户
        #    --with-pcre:开启PCRE正则表达式的支持
        #    --with-http_ssl_module:启动SSL的支持
        #    --with-http_stub_status_module:用于监控Nginx的状态
        #    --with-http-realip_module:允许改变客户端请求头中客户端IP地址
        #    --with-file-aio:启用File AIO
        #    --add-module=PATH:添加第三方外部模块
        
"Ⅳ:编译源码并安装"
    make && make install
    
"Ⅴ:测试Nginx服务"
    1:启动服务
       /usr/local/nginx/sbin/nginx
       # 可通过IP+80端口在浏览器访问
    2:重新加载服务
        /usr/local/nginx/sbin/nginx -s reload
    3:停止服务
       /usr/local/nginx/sbin/nginx -s stop
    4:查看Nginx进程
       ps -ef | grep nginx
    5:查询Nginx版本
       /usr/local/nginx/sbin/nginx -V
       
"Ⅵ:Nginx配置服务"
    前面的nginx运行过程中,需要nginx作为系统的服务运行。
    但一般我们都是使用systemctl命令运行服务,执行如下命令(注:执行此命令前面不能存在空格):  
cat > /lib/systemd/system/nginx.service <<EOF
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
    # 补充介绍:
    #    Description:服务的描述
    #    After:在网络服务启动后执行
    #    Type:运行类型,此处为forking,表示启动一个守护进程
    #    ExecStart:启动命令,指定Nginx可执行文件的路径
    #    ExecReload:重载命令,用于重新加载Nginx配置
    #    ExecStop:停止命令,用于停止Nginx服务
    #    PrivateTmp:启用私有临时目录,使每个服务实例具有独立的临时目录
    #    WantedBy:指定在multi-user target(多用户模式)下自动启动Nginx服务
    
"Ⅶ:服务添加到系统启动项"
    systemctl enable nginx.service  # 加入到开机自启动(必须执行)
    systemctl disable nginx.service # 设置开机不自启
    systemctl status nginx  # 查询状态
    systemctl start nginx   # 启动
    systemctl stop nginx    # 关闭
    systemctl restart nginx # 重启

"Ⅷ:卸载nginx服务"  
    ## 关闭服务  
        systemctl stop nginx.service  
    ## 删除nginx服务配置  
        rm /lib/systemd/system/nginx.service  
    ## 删除其它的一些nginx文件(如配置、资源、日志等;妥善删除)  
        这里是我安装nginx文件的一些基本目录  
        # 删除nginx安装的位置  
            rm -rf /usr/local/nginx  
        # 删除nginx安装包位置  
            rm -rf /home/nginx-1.24.0*

(二):Window 10 环境下安装编译

在Windows 10下其实也不用安装Nginx,因为它是绿色版的,解压后就能使用了;废话不说直接开干。

sh 复制代码
"Ⅰ:解压后会有如下一些文件夹"
    docs:这个目录通常包含了nginx的官方文档。
    temp:这个文件夹用于存放Nginx运行时的临时文件,比如缓存文件等。
    conf:这个文件夹包含了Nginx的配置文件。
        其中主要的文件是nginx.conf;它包含了Nginx的主要配置信息,比如监听的端口、虚拟主机配置等。
        此外还可能有其他的配置文件,如mime.types用于定义MIME类型映射关系。
    html:这个文件夹通常被用作Nginx默认的网站根目录。
        当你访问Nginx服务器时,它会默认返回这个文件夹下的内容。
        你可以在这里放置你的静态网页、图片、CSS 和 JavaScript 文件等。
    logs:这个文件夹包含了Nginx的日志文件。
        通常有两个主要的日志文件:
            access.log:记录访问服务器的请求信息,
            error.log:记录服务器运行过程中的错误信息。你可以在这里查看服务器的访问情况和出错原因。
    contrib:此文件夹通常包含了一些额外的、非官方的扩展模块或者补丁。
        这些模块可能由社区或第三方开发者提供,
        它们提供了一些额外的功能或者性能优化,可以根据需求选择性地集成到Nginx中。
        一些常见的功能扩展包括负载均衡模块、安全性增强模块、缓存模块等。
        这些模块通常是以源代码的形式提供,你需要手动编译并将其集成到Nginx中。

"Ⅱ:启动Nginx"
    直接双击nginx.exe文件即可,这时会闪一下,其实就已经启动了;
    我们可以通过 ./logs/nginx.pid 文件进行查看nginx的启动进程

"Ⅱ:Windows常用的一些命令"
    # 查看当前nginx进程
        tasklist | findstr <进程名称>
            示例:
                tasklist | findstr "nginx"
                    nginx.exe   13516 Console    1   8,208 K
                    nginx.exe   28768 Console    1   8,520 K
    # 杀死进程号
        taskkill /f /t /pid <进程号>
            /f:强制杀死
            /t:进程树
            示例(这里需要杀死主进程号才彻底停止,具体进程号在./logs/nginx.pid):
                taskkill /f /t /pid 13516
                    成功: 已终止 PID 33708 (属于 PID 26300 子进程)的进程。
                    成功: 已终止 PID 26300 (属于 PID 13516 子进程)的进程。
                    成功: 已终止 PID 13516 (属于 PID 3088 子进程)的进程。
    # 根据进程的名称杀死所有的进程
        taskkill /f /t /im <进程名称>
        示例:
            taskkill /f /t /im "nginx.exe"
                成功: 已终止 PID 33948 (属于 PID 10532 子进程)的进程。
                成功: 已终止 PID 10532 (属于 PID 32020 子进程)的进程。
                成功: 已终止 PID 32020 (属于 PID 3088 子进程)的进程。

注:默认是80端口,可不能被占用哟。
注:若不喜欢一闪而过的执行则可以执行命令的方式:
    start cmd /k "cd /d D:\nginx-1.24.0\ && nginx.exe"
        说明:
            "D:\nginx-1.24.0\ ":我当前的路径
            "nginx.exe":        执行的程序名称
注:还可以使用Nginx自带的方式来操作(路径别搞错了哟):
    D:\nginx-1.24.0\nginx.exe               # 启动
    D:\nginx-1.24.0\nginx.exe -s reload     # 重启
    D:\nginx-1.24.0\nginx.exe -s stop       # 停止
    D:\nginx-1.24.0\nginx.exe -V
"省事的直接任务管理器关闭"🐶

三:软件包安装方式

(一):deb包安装Nginx

其实不推荐这种方式安装;若是内网环境的话,则需要参考我上面写的deb包下载来下载所有的 .deb 依赖包和主体nginx包;需要在一台有网且同版本的ubuntu系统里下载所用的包再通过U盘传到没网的电脑上。

sh 复制代码
# 先补充一下关于.deb程序包的安装命令:dpkg
#     dpkg -l :            查看当前系统中已经安装的软件包的信息
#     dpkg -L <软件包名称> : 查看系统中已经安装的软件文件的详细列表
#     dpkg -s :            查看已经安装的指定软件包的详细信息
#     dpkg -S :            查看系统中的某个文件属于那个软件包;
#     dpkg -i :            *.deb文件的安装
#     dpkg -r :            *.deb文件的卸载;
#     dpkg -P :            彻底的卸载(包括软件的配置文件等等)

"这里我使用wget命令来下载程序包:"
    wget http://archive.ubuntu.com/ubuntu/pool/main/n/nginx/nginx_1.24.0-1ubuntu1_amd64.deb
"Ⅰ:使用apt安装依赖(内网就一个一个下载成.deb安装上再继续)"
    sudo apt install gcc libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev

"Ⅱ:使用dpkg命令进行安装"
    sudo dpkg -i nginx_1.24.0-1ubuntu1_amd64.deb
    '发现安装报错咯(依赖问题):'
        # 正在选中未选择的软件包 nginx。
        # (正在读取数据库 ... 系统当前共安装有 186807 个文件和目录。)
        # 准备解压 nginx_1.24.0-1ubuntu1_amd64.deb  ...
        # 正在解压 nginx (1.24.0-1ubuntu1) ...
        # dpkg: 依赖关系问题使得 nginx 的配置工作不能继续:
        #  nginx 依赖于 nginx-common (<< 1.24.0-1ubuntu1.1~);然而:
        #   未安装软件包 nginx-common。
        #  nginx 依赖于 nginx-common (>= 1.24.0-1ubuntu1);然而:
        #   未安装软件包 nginx-common。
        # dpkg: 处理软件包 nginx (--install)时出错:
        #  依赖关系问题 - 仍未被配置
        # 正在处理用于 man-db (2.11.2-3) 的触发器 ...
        # 在处理时有错误发生:
        #  nginx
    上面可以发现没有nginx-common的依赖包,直接参考我上面的"deb包下载小节"来下载
       # 搜索到指定的依赖并组装wget下载地址(内网的需要在有网的电脑操作)
        sudo apt-cache show nginx-common | grep -nE 'Version|Filename'
            3:Version: 1.24.0-1ubuntu1
            17:Filename: pool/main/n/nginx/nginx-common_1.24.0-1ubuntu1_all.deb
    执行下载其它依赖地址:
    wget http://archive.ubuntu.com/ubuntu/pool/main/n/nginx/nginx-common_1.24.0-1ubuntu1_all.deb

"Ⅲ:安装所需要的依赖(安装完成就可以使用nginx了)"
    sudo dpkg -i nginx-common_1.24.0-1ubuntu1_all.deb

"Ⅳ:安装后其它一些文件夹说明"
    /etc/nginx/                           ### 配置文件位置
    /usr/lib/systemd/system/nginx.service ### 服务注册位置
    /usr/sbin/nginx                       ### 可执行文件
    /usr/share/nginx                      ### 存放一些静态文件,如默认的index.html页面
    /run/nginx.pid                        ### pid文件
    /var/log/nginx                        ### 存放nginx日志

"Ⅴ:常用Nginx服务命令"
    systemctl enable nfginx.service   # 开机自启动
    systemctl disable nginx.service   # 开机不自启动
    systemctl status nginx            # 查询状态
    systemctl start nginx             # 启动
    systemctl stop nginx              # 关闭
    systemctl restart nginx           # 重启

"Ⅵ:卸载操作"
    卸载先 停止服务-> 卸载主体 -> 卸载依赖 -> 删除其它残留文件(妥善删除残留文件)
    # 停止服务
        systemctl stop nginx.service
    # 卸载主体
        dpkg -r nginx
    # 卸载依赖
        dpkg -r nginx-common
    # 删除其它残留文件
        rm -rf /etc/nginx /usr/sbin/nginx  /usr/share/nginx /var/lib/nginx
        rm -rf /var/log/nginx /usr/lib/systemd/system/nginx.service
"真心不推荐,除非内网"

(二):rpm包安装Nginx

相对于源码包方式安装,rpm包方式安装会简单不少,不用我们手动编译,并且也处理了动态链接库的依赖问题,其它都特别简单,如下:
说明:RPM包是由源码包制作而成,这里不探讨如何编译RPM包,我们直接从官方下载即可。
注意:但当前为内网的话,依赖还得需要一个一个下载成.rpm包,并上传服务器安装完依赖后,再安装nginx

sh 复制代码
"这里我下载此版本:(执行wget命令即可)"
    wget https://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm
"Ⅰ:使用yum安装依赖(若没yum则使用rpm安装全部依赖,RPM程序包管理器说明)"
    yum -y install gcc gcc-c++ autoconf automake make pcre pcre-devel zlib zlib-devel make libtool openssl openssl-devel pcre2.x86_64
"Ⅱ:安装Nginx的RPM包(其实这个执行完成也就安装完成了):"
    rpm -ivh nginx-1.24.0-1.el7.ngx.x86_64.rpm
"Ⅲ:常用Nginx服务命令"
    systemctl enable nfginx.service   # 开机自启动
    systemctl disable nginx.service   # 开机不自启动
    systemctl status nginx            # 查询状态
    systemctl start nginx             # 启动
    systemctl stop nginx              # 关闭
    systemctl restart nginx           # 重启
"Ⅳ:其它操作"
    rpm -qa | grep '^nginx'                 # 查询Nginx是否安装
    rpm -evh nginx-1.24.0-1.el7.ngx.x86_64  # 卸载Nginx(使用查询出来的安装程序名称)
    rpm -qc nginx-1.24.0-1.el7.ngx.x86_64   # 查询Nginx安装后存在哪些文件
        部分说明:
            /etc/nginx/                           ### 配置文件位置
            /usr/lib/systemd/system/nginx.service ### 服务注册位置
            /usr/sbin/nginx                       ### 可执行文件
            /usr/share/nginx                      ### 存放一些静态文件,如默认的index.html页面
            /run/nginx.pid                        ### pid文件
            /var/log/nginx                        ### 存放nginx日志

四:软件包管理器安装(apt、yum)

(一):使用apt安装Nginx

既然说到了apt,其实就说明要在Debian、Ubuntu上安装程序了,废话不多说,直接安装。
点开查看详情【快速回忆一下apt的命令使用哟】

cpp 复制代码
1:列出所有可更新的软件清单命令:
    sudo apt update
2:升级软件包:
    sudo apt upgrade
3:列出可更新的软件包及版本信息:
    apt list --upgradeable
4:升级软件包(升级前先删除需要更新软件包):
    sudo apt full-upgrade
5:安装指定的软件命令:
    sudo apt install <包名称>
6:安装多个软件包:
    sudo apt install <包名称1> <包名称2> <包名称3>
7:更新指定的软件命令:
    sudo apt update <包名称>
8:显示软件包具体信息(例如:版本号,安装大小,依赖关系等等,不过这个是查询的远程镜像仓库,就像应用市场一样)
    sudo apt show <包名称>
9:删除软件包命令:
    sudo apt remove <包名称>
10:清理不再使用的依赖和库文件:
    sudo apt autoremove
11:移除软件包及配置文件:
    sudo apt purge <包名称>
12:查找软件包命令:
    sudo apt search <包的关键字(模糊)>
13:列出所有已安装的包:
    apt list --installed
14:列出所有已安装的包的版本信息:
    apt list --all-versions
sh 复制代码
"Ⅰ:检查是否存在apt命令(一般都有啦):"
    sudo apt --version
        打印:apt 2.7.3 (amd64)    ## 说明当前存在apt软件包管理器命令
"Ⅱ:更新apt命令(有的包管理器的版本很老,导致出现一些问题):"
    sudo apt update
"Ⅲ:远程镜像仓库查询Nginx包:"
    sudo apt show nginx
        # 执行完以后会打印如下信息(这里只写部分打印):
        #     Package: 软件包的名称 如:nginx。
        #     Version: 当前安装的版本 如:1.24.0-1ubuntu1。
        #     Origin: 软件包的来源 如:Ubuntu。
        #     Depends: 软件包需要依赖的其他软件包,比如:libc6、libcrypt1、libpcre2-8-0、libssl3等。
        #     APT-Sources: 该软件包的来源,即可从哪里获取安装。
        #     Description: 软件包的描述
"Ⅳ:执行执行安装命令咯,默认会安装刚才查询的Nginx版本:"
    sudo apt install nginx
"Ⅴ:查看nginx版本以及常用的启停命令:"
    nginx -v                        # 查看Nginx版本
    systemctl enable nginx.service  # 加入到开机自启动(必须执行)
    systemctl disable nginx.service # 设置开机不自启
    systemctl status nginx          # 查询启动状态
    systemctl start nginx           # 启动
    systemctl stop nginx            # 关闭
    systemctl restart nginx         # 重启
"Ⅵ:安装成功后Nginx一些配置文件的存放路径:"
    /usr/sbin/nginx         ### 主程序命令
    /etc/nginx              ### 存放配置文件目录
    /usr/share/nginx        ### 存放一些静态文件,如默认的index.html页面
    /var/log/nginx          ### 存放nginx日志
    /run/nginx.pid          ### pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
    /usr/lib/systemd/system/nginx.service ### 服务注册位置
    ## 具体的位置可通过执行此命令查看: find / | grep nginx
"Ⅶ:卸载Nginx:"
    # 停止正在运行的nginx  
        systemctl stop nginx  
    # 卸载nginx  
        sudo apt remove nginx  
    # 清理残留配置文件及日志(妥善删除,若不需要备份则删除即可)  
        rm -rf /etc/nginx /usr/share/nginx /var/log/nginx

(二):使用yum安装Nginx

既然说到了yum,其实就说明要在RedHat、Centos上安装程序了,废话不多说,直接安装。

yum安装方式和apt安装方式基本一样,就是一个apt命令不太一样。

sh 复制代码
"Ⅰ:更新yum包管理器"
    yum update
"Ⅱ:安装nginx程序"
    yum install nginx
"Ⅲ:查看版本及启动nginx"
    nginx -version                  ## 查看版本
    systemctl enable nginx.service  # 加入到开机自启动(必须执行)
    systemctl disable nginx.service # 设置开机不自启
    systemctl status nginx          # 查询启动状态
    systemctl start nginx           # 启动
    systemctl stop nginx            # 关闭
    systemctl restart nginx         # 重启
"Ⅳ:安装成功后Nginx一些配置文件的存放路径:"
    /usr/sbin/nginx         ### 主程序命令
    /etc/nginx              ### 存放配置文件目录
    /usr/share/nginx        ### 存放一些静态文件,如默认的index.html页面
    /var/log/nginx          ### 存放nginx日志
    /run/nginx.pid          ### pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
    /usr/lib/systemd/system/nginx.service ### 服务注册位置
    ## 具体的位置可通过执行此命令查看: find / | grep nginx
"Ⅴ:卸载Nginx:"
    # 停止正在运行的nginx
        systemctl stop nginx
    # 卸载nginx
        yum remove nginx
    # 清理残留配置文件及日志(妥善删除,若不需要备份则删除即可)
        rm -rf /etc/nginx /usr/share/nginx /var/log/nginx

五:Nginx目录结构

Nginx文件结构比较简洁,主要包括配置文件和二进制可执行程序,这里我是按照通过安装包形式安装的Nginx文件结构说明,其它安装方式也差不多,只是文件存放位置不一样。

sh 复制代码
[root@VM-4-10-centos /]# tree /usr/local/nginx/
/usr/local/nginx/
├── client_body_temp              # POST 大文件暂存目录
├── conf                          # Nginx所有配置文件的目录
│   ├── fastcgi.conf              # fastcgi相关参数的配置文件
│   ├── fastcgi.conf.default      # fastcgi.conf的原始备份文件
│   ├── fastcgi_params            # fastcgi的参数文件
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types                # 媒体类型
│   ├── mime.types.default
│   ├── nginx.conf                "# 这是Nginx默认的主配置文件,日常使用和修改的文件(重要)"
│   ├── nginx.conf.default
│   ├── scgi_params               # scgi相关参数文件
│   ├── scgi_params.default
│   ├── uwsgi_params              # uwsgi相关参数文件
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp                  # fastcgi临时数据目录
├── html                          # Nginx默认站点目录
│   ├── 50x.html                  # 错误页面优雅替代显示文件,例如出现502错误时会调用此页面
│   └── index.html                # 默认的首页文件
├── logs                          # Nginx日志目录
│   ├── access.log                "# 访问日志文件"
│   ├── error.log                 "# 错误日志文件"
│   └── nginx.pid                 "# pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件"
├── proxy_temp                    # 临时目录
├── sbin                          # Nginx 可执行文件目录
│   └── nginx                     "# Nginx 二进制可执行程序"
├── scgi_temp                     # 临时目录
└── uwsgi_temp                    # 临时目录
相关推荐
ai小鬼头40 分钟前
AIStarter最新版怎么卸载AI项目?一键删除操作指南(附路径设置技巧)
前端·后端·github
Touper.1 小时前
SpringBoot -- 自动配置原理
java·spring boot·后端
一只叫煤球的猫1 小时前
普通程序员,从开发到管理岗,为什么我越升职越痛苦?
前端·后端·全栈
一只鹿鹿鹿1 小时前
信息化项目验收,软件工程评审和检查表单
大数据·人工智能·后端·智慧城市·软件工程
M4K02 小时前
Linux百度网盘优化三板斧
linux
好奇的菜鸟2 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
专注VB编程开发20年2 小时前
开机自动后台运行,在Windows服务中托管ASP.NET Core
windows·后端·asp.net
程序员岳焱2 小时前
Java 与 MySQL 性能优化:MySQL全文检索查询优化实践
后端·mysql·性能优化
bcbobo21cn2 小时前
初步了解Linux etc/profile文件
linux·运维·服务器·shell·profile
一只叫煤球的猫2 小时前
手撕@Transactional!别再问事务为什么失效了!Spring-tx源码全面解析!
后端·spring·面试