• Nginx服务器的安装和卸载


    Nginx的安装

    安装Nginx之前,需要先获取Nginx的安装文件。我们可以在http://nginx.org/en/download.html获取各个版本的Nginx安装文件。大家可以按照自己的需求自行下载相应的安装文件。

    Windows版本的安装

    Nginx的Windows版本安装比较简单。下载完安装包之后解压缩即可使用。如果你需要在命令行窗口执行nginx命令,你还需要将nginx的解压目录加入环境变量。

    #Windows平台下相关操作
    #step1:首先cd到nginx的安装目录,最好不要将安装目录加到环境变量,会出现不必要的问题。(有条件最好在Linux环境下操作)
    start nginx 或者 nginx.exe  //启动nginx
    nginx.exe -s stop //立即停止nginx服务
    nginx.exe -s quit //有序停止nginx
    nginx.exe -s reload //修改配置后加载新的配置
    nginx.exe -s reopen
    

    Linux版本的安装

    Linux版本的Nginx推荐使用源代码安装。

    1. 环境准备

    为了编译Nginx源代码,我们需要标准的GCC编译器。GCC的全称为GNUCompiler Collection,其由GNU开发,并以GPL及LGPL许可证发行,是自由的类UNIX及苹果电脑Mac OS X操作系统的标准编译器。因为GCC原本只能处理C语言,所以原名为GNU C语言编译器,后来得到快速扩展,可处理C++、Fortran、Pascal、Objective-C、Java以及Ada等其他语言。

    除此之外,我们还需要Automake工具,以完成自动创建Makefile的工作。

    由于Nginx的一些模块还需要依赖其他第三方库,通常有pcre库(支持rewrite模块)、zlib库(支持gzip模块)和openssl库(支持ssl模块)等。所以在编译Nginx源代码前还需要安装这些这些库。

    #gcc安装
    yum -y install gcc-c++
    #pcre安装
    yum  -y install  pcre pcre-devel
    #zlib安装
    yum -y install zlib zlib-devel
    #OpenSSL安装
    yum -y install openssl openssl-devel
    

    前面3个就不说了,很多软件都会依赖到的包。需要安装OpenSSL是因为后期nginx可能需要配置https,因此最好提前准备好。

    在进行上面的安装之前,最好使用下面的命令看下这些软件包是否已经安装过了。

    yum list installed | grep ***
    

    到此安装环境就准备好了。

    2. 源代码编译

    Nginx的编译安装很简单,在Linux下建议下载tar包进行安装。

    #解压tar包
    tar -zxvf nginx-1.12.2.tar.gz
    #配置安装路径等其他配置,默认安装目录是/usr/local/nginx
    ./configure
    make 
    make install
    #查看版本
    nginx -v
    

    至此,Nginx的安装就已经结束了。其实在上面的configure命令执行时我们是可以配置很多参数的,上面的安装中我们全部使用的是Nginx的默认配置。下面列举几个configure命令的常见配置,比较完整的配置项的中文含义请参见这篇博客

    配置项 含义
    --prefix=PATH 定义服务器文件的完整路径,该路径同时也是configure命令设置的 相对路径(除类库源文件外)以及nginx.conf文件定义的相对路径的基准路径。其默认 值是/usr/local/nginx
    --sbin-path=PATH 设置nginx可执行文件的完整路径,该路径仅在安装期间使用, 默认路径为*prefix*/sbin/nginx
    --conf-path=PATH 设置配置文件nginx.conf的完整路径。如有必要,总是可以 在nginx启动时通过命令行参数-c*file*指定一个不同的配置文件路径。 默认路径为*prefix*/conf/nginx.conf
    --error-log-path=PATH 设置记录主要错误、警告以及调试信息日志的完整路径。安装完成后, 该路径总是可以在nginx.conf文件中用 error_log 指令来修改。 默认路径为*prefix*/logs/error.log
    --pid-path=PATH 设置nginx.pid文件的完整路径,该文件存储了主进程的进程ID。安装完成后, 该路径总是可以在nginx.conf文件中用 pid指令来修改。 默认路径为*prefix*/logs/nginx.pid

    Configure命令还有很多配置参数,可以通过./configure --help查看。其中:

    • with开头的表示该模块默认是未开启的,可以使用--with开启。
    • without开头的表示该模块默认是启用的,可以使用--without禁用。
    • 第三方模块使用--add-module=PATH添加。如果支持动态加载,使用--add-dynamic-module=PATH添加。

    一个配置命令的列子如下:

    ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=../pcre-4.4 --with-zlib=../zlib-1.1.3
    

    3.一些常用命令

    #使用-c可以自定义指定Nginx的配置问价,默认的是安装目录下的配置
    nginx -c /usr/local/nginx/conf/nginx.conf
    nginx -s stop
    nginx -s quit
    kill -9 PID
    #重新加载配置
    nginx -s reload 
    

    Nginx卸载

    1.首先输入命令 ps -ef | grep nginx检查一下nginx服务是否在运行。

    [root@localhost /]# ps -ef |grep nginx
    root       3163   2643  0 14:08 tty1     00:00:00 man nginx
    root       5427      1  0 14:50 ?        00:00:00 nginx: master process nginx
    nginx      5428   5427  0 14:50 ?        00:00:00 nginx: worker process
    root       5532   2746  0 14:52 pts/0    00:00:00 grep --color=auto nginx
    

    2.停止Nginx服务

    [root@localhost /]# /usr/sbin/nginx -s stop
    [root@localhost /]# netstat -lntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1261/sshd           
    tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
    tcp6       0      0 :::22                   :::*                    LISTEN      1261/sshd
    

    3.查找、删除Nginx相关文件

    • 查看Nginx相关文件:whereis nginx
    [root@localhost /]# whereis nginx
    nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz /usr/share/man/man3/nginx.3pm.gz
    
    • find查找相关文件
    [root@localhost /]# find / -name nginx
    /usr/lib64/perl5/vendor_perl/auto/nginx
    /usr/lib64/nginx
    /usr/share/nginx
    /usr/sbin/nginx
    /etc/logrotate.d/nginx
    /etc/nginx
    /var/lib/nginx
    /var/log/nginx
    
    • 依次删除find查找到的所有目录:rm -rf /usr/sbin/nginx

    4.再使用yum清理

    [root@localhost /]# yum remove nginx
    依赖关系解决
    
    ======================================================================================================
     Package                              架构            版本                       源              大小
    ======================================================================================================
    正在删除:
     nginx                                x86_64          1:1.12.2-3.el7             @epel          1.5 M
    为依赖而移除:
     nginx-all-modules                    noarch          1:1.12.2-3.el7             @epel          0.0  
     nginx-mod-http-geoip                 x86_64          1:1.12.2-3.el7             @epel           21 k
     nginx-mod-http-image-filter          x86_64          1:1.12.2-3.el7             @epel           24 k
     nginx-mod-http-perl                  x86_64          1:1.12.2-3.el7             @epel           54 k
     nginx-mod-http-xslt-filter           x86_64          1:1.12.2-3.el7             @epel           24 k
     nginx-mod-mail                       x86_64          1:1.12.2-3.el7             @epel           99 k
     nginx-mod-stream                     x86_64          1:1.12.2-3.el7             @epel          157 k
    
    事务概要
    ======================================================================================================
    移除  1 软件包 (+7 依赖软件包)
    
    安装大小:1.9 M
    是否继续?[y/N]:
    

    参考

  • 相关阅读:
    topcoder srm 320 div1
    topcoder srm 325 div1
    topcoder srm 330 div1
    topcoder srm 335 div1
    topcoder srm 340 div1
    topcoder srm 300 div1
    topcoder srm 305 div1
    topcoder srm 310 div1
    topcoder srm 315 div1
    如何统计iOS产品不同渠道的下载量?
  • 原文地址:https://www.cnblogs.com/54chensongxia/p/12920334.html
Copyright © 2020-2023  润新知