Nginx的安装

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

Windows版本的安装

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

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

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源代码前还需要安装这些这些库。

  1. #gcc安装
  2. yum -y install gcc-c++
  3. #pcre安装
  4. yum -y install pcre pcre-devel
  5. #zlib安装
  6. yum -y install zlib zlib-devel
  7. #OpenSSL安装
  8. yum -y install openssl openssl-devel

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

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

  1. yum list installed | grep ***

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

2. 源代码编译

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

  1. #解压tar包
  2. tar -zxvf nginx-1.12.2.tar.gz
  3. #配置安装路径等其他配置,默认安装目录是/usr/local/nginx
  4. ./configure
  5. make
  6. make install
  7. #查看版本
  8. 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添加。

3.一些常用命令

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

Nginx卸载

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

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

2.停止Nginx服务

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

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

  • 查看Nginx相关文件:whereis nginx
  1. [root@localhost /]# whereis nginx
  2. 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查找相关文件
  1. [root@localhost /]# find / -name nginx
  2. /usr/lib64/perl5/vendor_perl/auto/nginx
  3. /usr/lib64/nginx
  4. /usr/share/nginx
  5. /usr/sbin/nginx
  6. /etc/logrotate.d/nginx
  7. /etc/nginx
  8. /var/lib/nginx
  9. /var/log/nginx
  • 依次删除find查找到的所有目录:rm -rf /usr/sbin/nginx

4.再使用yum清理

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

参考

Nginx服务器的安装和卸载的更多相关文章

  1. Nginx 服务器的安装部署(CentOS系统)

    1.准备安装环境yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-develgcc编译器 ...

  2. windows环境下nginx服务器的安装与配置

    转载至:http://www.cnblogs.com/hxxy2003/archive/2012/09/20/2695254.html nginx服务器是一个高性能的HTTP和反向代理服务器,它以稳定 ...

  3. Linux_CentOS 7下Nginx服务器的安装配置

    1.安装 1.1 配置epel yum 源 wget http://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm ...

  4. LINUX学习--nginx服务器的安装

    一.安装环境 操作系统CentOS6.8 关闭SeLinux和iptables防火墙 二.网络yum源 将下面的软件下载到  /etc/yum.repos.d/   的目录下 官方基础:http:// ...

  5. Nginx服务器的安装

    #解压之前下载的nginx源码安装包 [root@redhat7 nginx-1.8.1]# tar xzvf nginx-1.8.1.tar.gz #进到新解压出来的nginx目录下 [root@r ...

  6. Linux系统上Nginx服务器的安装与配置

    前言: 详细步骤移步菜鸟教程 一. 安装Nginx,注意虚拟机与宿主机的网络连通性 l  安装编译工具及库文件(zlib库. ssl) yum -y install make zlib zlib-de ...

  7. [Nginx]实战Nginx:Nginx服务器的安装与配置

    ----------------------------------------------------------------------------------------------- Ngin ...

  8. 在Nginx服务器上安装SSL证书

    配置nginx 1.下载证书文件 2.在nginx的conf目录中创建目录cert目录,并将证书文件拷贝进去. 3.配置nginx.conf,完整的nginx.conf如下: #user nobody ...

  9. Linux下安装Nginx服务器

    安装Nginx之前,首先要安装好编译环境gcc和g++,然后以CentOS为例安装Nginx,安装Nginx需要PRCE库.zlib库和ssl的支持,除了ssl外其他的我们都是去官网下载: Nginx ...

随机推荐

  1. sql注入原理+mysql相关知识点

    什么是SQL注入 sql就是经常说的数据库,而sql注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.SQL注入是比较常见的网络攻击 ...

  2. c++动态数组的使用

    在c++中,有的时候会遇到变长的数组(不管是一维的还是二维的),这个时候就需要用到动态数组了,并且要用new和delete两个操作符,这俩操作符一般成对使用. 先说一维的动态数组吧,直接上代码 #in ...

  3. 9个小技巧让你的 if else看起来更优雅

    if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼,例如下面这个伪代码: 是不是很奔溃?虽然他是伪代码,并且看起来也很夸张,但在现实中,当我们 ...

  4. automake autoconf 使用详解

    本文地址: http://www.laruence.com/2009/11/18/1154.html 文章转自: http://www.linuxcomputer.cn/ 作为Linux下的程序开发人 ...

  5. QT 的 parent 该如何理解

    对话框是GUI程序和用户进行简短交互的顶层窗口,所谓顶层窗口即始终在主窗口之上显示.QDialog是Qt所有类型的对话框窗口的基类,它继承于QWidget,是一种容器类型组件. QWidget是所有窗 ...

  6. 这个linux命令能让时光倒流!你不知道的date隐藏用法

    文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 今天给项目写了个脚本需要获取前一天的时间,本来先获取今天的然后减一下, ...

  7. 图论--最短路--SPFA模板(能过题,真没错的模板)

    [ACM常用模板合集] #include<iostream> #include<queue> #include<algorithm> #include<set ...

  8. Java自动装箱与缓存

    自动装箱与缓存 现象 有以下代码: 1 public class Main { 2 public static void main(String[] args) { 3 Integer i1 = 12 ...

  9. 一个简单的wed服务器SHTTPD(5)————服务器SHTTPD请求方法解析

    //start from the very beginning,and to create greatness //@author: Chuangwei Lin //@E-mail:979951191 ...

  10. Spring IOC的核心机制:实例化与注入

    上文我们介绍了IOC和DI,IOC是一种设计模式,DI是它的具体实现,有很多的框架都有这样的实现,本文主要以spring框架的实现,来看具体的注入实现逻辑. spring是如何将对象加入容器的 spr ...