• Nginx安装与常见命令


    一、Nginx简介

    官方文档:https://www.nginx.com/
    Nginx中文文档:https://nginx.cn/doc/index.html

    Nginx由俄罗斯人(Igor Sysoev)编写的轻量级Web服务器,它的发音为 [ˈendʒɪnks] 。

    Nginx 不仅是一款高性能的 HTTP服务器和反向代理服务器,同时也支持 IMAP/POP3/SMTP代理服务。

    Nginx应用场景:

    • 1)http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
    • 2)虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
    • 3)反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
    • 4)正向代理
    • 5)动静分离
    • 6)负载均衡
    • 7)集群高可用。

    二、Nginx安装

    Nginx的安装方式有很多种,一般我们使用的是tar.gz安装 Nginx。这里使用 nginx安装。

    1、安装前环境库安装

    第一步:安装gcc库。

    安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc环境,需要安装 gcc。

    ## 检查是否安装命令
    [root@centos7 ~]# rpm -q gcc-c++
    未安装软件包 gcc-c++ 
    ## 安装命令
    [root@centos7 ~]# yum -y install gcc-c++
    已加载插件:fastestmirror
    .......
    [root@centos7 ~]# rpm -q gcc-c++
    gcc-c++-4.8.5-36.el7.x86_64
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    第二步:安装pcre库。

    PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的正则表达式库。

    nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库。

    ## 检查是否安装命令
    [root@centos7 ~]# rpm -q pcre pcre-devel
    pcre-8.32-17.el7.x86_64
    未安装软件包 pcre-devel
    ## 安装命令
    [root@centos7 ~]# yum install -y pcre pcre-devel
    已加载插件:fastestmirror 
    .......
    [root@centos7 ~]# rpm -q pcre pcre-devel
    pcre-8.32-17.el7.x86_64
    pcre-devel-8.32-17.el7.x86_64
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    注意:pcre-devel 是使用 pcre 开发的一个二次开发库。nginx 也需要此库。

    第三步:安装zlib库。

    zlib库提供了很多种压缩和解压缩的方式。

    nginx使用 zlib对 http包的内容进行 gzip,所以需要在 linux 上安装 zlib 库。

    ## 安装命令
    [root@centos7 ~]# yum install -y zlib zlib-devel
    
    • 1
    • 2

    第四步:安装openssl库。

    (1)OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

    (2)nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),所以需要在linux 安装 openssl 库。

    ## 安装命令
    [root@centos7 ~]# yum install -y openssl openssl-devel
    
    • 1
    • 2

    注意:上面四步其实可以合成一步安装,命令为:

    [root@centos7 ~]# yum install -y gcc gcc-c++ make libtool wget pcre pcre-devel zlib zlib-devel openssl openssl-devel
    
    • 1

    2、Nginx安装包解压并安装

    我们可以使用文件上传工具,将 Nginx安装包文件上传到 Linux中。Nginx下载安装包地址:http://nginx.org/download/nginx-1.19.4.tar.gz

    或者使用命令在线下载安装包:wget http://nginx.org/download/nginx-1.19.4.tar.gz
    如果 wget命令未找到,需要安装wget命令:yum -y install wget

    下面是把 Nginx 安装到 /usr/local/nginx 目录下。依次执行下面命令即可。

    # 1.下载安装包,并解压
    [root@centos7 ~]# cd /usr/local/src
    wget http://nginx.org/download/nginx-1.19.4.tar.gz
    tar -zxvf nginx-1.19.4.tar.gz
    # 2.创建临时文件的存放目录
    cd /var
    mkdir temp
    cd temp
    mkdir nginx
    # 3.回到Nginx解压后的根目录下
    cd /usr/local/src/nginx-1.19.4
    # 4.进入到该目录之后可以看到configure这个可执行文件,配置安装参数。
    [root@centos7 nginx-1.19.4]# ls
    auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
    # 5.参数设置如下所示,直接复制粘贴执行即可。
    ./configure \
    --prefix=/usr/local/nginx \
    --pid-path=/var/run/nginx/nginx.pid \
    --lock-path=/var/lock/nginx.lock \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --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 \
    --http-scgi-temp-path=/var/temp/nginx/scgi
    # 6.之后我们回到解压后的Nginx的根目录下,使用gcc编译安装
    cd /usr/local/src/nginx-1.19.4
    make && make install
    # 以上命令执行完以后,就会自动在/usr/local/nginx下创建一个nginx目录,这个位置就是Nginx的安装目录。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    注意:

    • 安装 nginx之前先要将安装环境配置完成,不然安装nginx会安装失败。
    • 上边将临时文件目录指定为/var/temp/nginx,需要在/var 下创建 temp以及nginx目录;
    • nginx安装成功之后,默认安装在/usr/local/nginx目录下。

    安装成功后 /usr/local/nginx 目录下如下:

    [root@centos7 nginx-1.19.4]# cd /usr/local/nginx
    [root@centos7 nginx]# ls
    conf  html  sbin
    
    • 1
    • 2
    • 3

    3、启动Nginx

    nginx 安装成功,启动 nginx,即可访问虚拟机上的 nginx。

    Nginx 默认的是侦听 80 端口。所以确保系统的 80 端口没被其他程序占用。

    查看80端口:netstat -ano|grep 80

    1)启动 Nginx命令:

    # 首先进入 /usr/local/nginx/sbin/目录下
    [root@centos7 nginx]# cd /usr/local/nginx/sbin
    [root@centos7 sbin]# ll
    总用量 3816
    -rwxr-xr-x 1 root root 3903720 911 00:06 nginx
    # 然后执行./nginx 命令进行启动Nginx
    [root@centos7 sbin]# ./nginx
    # 查看是否启动
    [root@centos7 sbin]# ps aux|grep nginx
    root      12600  0.0  0.0  20568   616 ?        Ss   00:10   0:00 nginx: master process ./nginx
    nobody    12601  0.0  0.0  21004  1328 ?        S    00:10   0:00 nginx: worker process
    root      12603  0.0  0.0 112724   988 pts/0    S+   00:11   0:00 grep --color=auto nginx
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2)测试

    打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

    在这里插入图片描述

    注意:测试前需要将防火墙关闭,如果是云服务器需要在安全组的配置中将80端口方行,不然80端口的访问会被阻拦。

    三、Nginx常用命令

    1、查看版本号

    [root@centos7 ~]# /usr/local/nginx/sbin/nginx -v
    nginx version: nginx/1.19.4
    
    • 1
    • 2

    2、启动 nginx

    首先 cd /usr/local/nginx/sbin/进入到nginx的安装目录下,

    然后执行./nginx 命令进行启动Nginx。

    启动之后使用命令:ps aux|grep nginx 查看是否启动。

    # 首先进入 /usr/local/nginx/sbin/目录下
    [root@centos7 nginx]# cd /usr/local/nginx/sbin
    [root@centos7 sbin]# ll
    总用量 3816
    -rwxr-xr-x 1 root root 3903720 911 00:06 nginx
    # 然后执行./nginx 命令进行启动Nginx
    [root@centos7 sbin]# ./nginx
    # 查看是否启动
    [root@centos7 sbin]# ps aux|grep nginx
    root      12600  0.0  0.0  20568   616 ?        Ss   00:10   0:00 nginx: master process ./nginx
    nobody    12601  0.0  0.0  21004  1328 ?        S    00:10   0:00 nginx: worker process
    root      12603  0.0  0.0 112724   988 pts/0    S+   00:11   0:00 grep --color=auto nginx
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    注意:执行./nginx 启动 nginx ,如果不指定-c ,nginx在启动时默认加载 conf/nginx.conf 文件,此文件的地址也可以在编译安装 nginx 时指定./configure 的参数(–conf-path= 指向配置文件(nginx.conf)

    如果指定 -c加载的 nginx 配置文件,命令如下:./nginx -c /usr/local/nginx/conf/nginx.conf

    3、停止 nginx

    方式 1,快速停止:

    首先进入cd /usr/local/nginx/sbin该目录下,

    然后利用命令:./nginx -s stop 进行关闭。

    [root@centos7 ~]# cd /usr/local/nginx/sbin
    [root@centos7 sbin]# ./nginx -s stop
    
    • 1
    • 2

    此方式相当于先查出 nginx 进程 id 再使用 kill 命令强制杀掉进程。

    方式 2,完整停止(推荐使用):

    首先进入cd /usr/local/nginx/sbin该目录下

    然后利用命令:./nginx -s quit 进行关闭。

    [root@centos7 sbin]# cd /usr/local/nginx/sbin
    [root@centos7 sbin]# ./nginx -s quit
    
    • 1
    • 2

    此方式停止步骤是待 nginx 进程处理任务完毕进行停止。

    4、重启 nginx

    方式 1,先停止再启动(推荐使用):

    对 nginx 进行重启相当于先停止 nginx 再启动 nginx,即先执行停止命令再执行启动命令。命令如下:

    # 先执行停止命令再执行启动命令
    [root@centos7 sbin]# ./nginx -s quit
    [root@centos7 sbin]# ./nginx
    [root@centos7 sbin]#
    
    • 1
    • 2
    • 3
    • 4

    方式 2,重新加载配置文件:

    当 nginx 的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload

    不用先停止 nginx 再启动 nginx 即可将配置信息在 nginx 中生效,命令如下:

    [root@centos7 sbin]# ./nginx -s reload
    [root@centos7 sbin]#
    
    • 1
    • 2

    – 求知若饥,虚心若愚。

  • 相关阅读:
    大二毕设.3-网盘系统
    Spring MVC
    【软件设计师 - 一周通关】1.考试介绍
    前端八股文(3)53-84
    【从零开始学习 SystemVerilog】2.4、SystemVerilog 数据类型—— Enumeration(枚举)
    C进阶习题
    React中Immutable的使用
    ARM Cortex-M3从汇编到C,从Boot到应用的教程
    MySQL-MHA
    java计算两个字符串日期相隔天数
  • 原文地址:https://blog.csdn.net/qq_42402854/article/details/132818351