说到 Nginx ,可能大家最先想到的就是其负载均衡以及反向代理的功能。没错,这也是当前使用 Nginx 最频繁的两个功能,但是 Nginx 可不仅仅只有这两个功能,其作用还是挺大的,本系列博客就来慢慢解开 Nginx 神秘的面纱。

1、Nginx 的简介

  Nginx 是由俄罗斯人 Igor Sysoev 设计开发的,开发工作从2002 年开始,第一次公开发布在 2004 年 10 月 4 日。

  官方网站为:http://nginx.org/ 。它是一款免费开源的高性能 HTTP 代理服务器及反向代理服务器(Reverse Proxy)产品,同时它还可以提供 IMAP/POP3 邮件代理服务等功能。它高并发性能很好,官方测试能够支撑 5 万的并发量;运行时内存和 CPU 占用率低,配置简单,容易上手,而且运行非常稳定。

2、Nginx 的常用功能

  其实 Nginx 的功能特别多,这里我只介绍几个常用的功能,具体的大家可以参考官网介绍。

  ①、反向代理

  这是 Nginx 服务器作为 WEB 服务器的主要功能之一,客户端向服务器发送请求时,会首先经过 Nginx 服务器,由服务器将请求分发到相应的 WEB 服务器。正向代理是代理客户端,而反向代理则是代理服务器,Nginx 在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,完全不用关心网络环境如何,可以指定任意的IP地址和端口号,或其他类型的连接、请求等。

  ②、负载均衡

  这也是 Nginx 最常用的功能之一,负载均衡,一方面是将单一的重负载分担到多个网络节点上做并行处理,每个节点处理结束后将结果汇总返回给用户,这样可以大幅度提高网络系统的处理能力;另一方面将大量的前端并发请求或数据流量分担到多个后端网络节点分别处理,这样可以有效减少前端用户等待相应的时间。而 Nginx 负载均衡都是属于后一方面,主要是对大量前端访问或流量进行分流,已保证前端用户访问效率,并可以减少后端服务器处理压力。

  ③、Web 缓存

  在很多优秀的网站中,Nginx 可以作为前置缓存服务器,它被用于缓存前端请求,从而提高 Web服务器的性能。Nginx 会对用户已经访问过的内容在服务器本地建立副本,这样在一段时间内再次访问该数据,就不需要通过 Nginx 服务器向后端发出请求。减轻网络拥堵,减小数据传输延时,提高用户访问速度。

3、Nginx 安装

  关于 Nginx 的安装,分为在 Windows 平台和 Linux 平台安装,Windows 版本的 Nginx 服务器在效率上要比 Linux 版本的 Nginx 服务器差一些,而且实际使用的一般都是 Linux 平台的 Nginx 服务器。所以后期我们介绍时也会以 Linux 版本的为主。

①、下载地址

  Nginx 下载地址:http://nginx.org/en/download.html

  

  开发版本主要用于 Nginx 软件项目的研发,稳定版本说明可以作为 Web 服务器投入商业应用。这里我们选择当前稳定版本:nginx-1.14.0

②、Windows 版本安装

  我们将上一步下载的 nginx-1.14.0.zip 文件解压到当前目录。

  

  解压目录如下:

  

  下面对这个目录下的主要文件夹进行介绍:

  1、conf 目录:存放 Nginx 的主要配置文件,很多功能实现都是通过配置该目录下的 nginx.conf 文件,后面我们会详细介绍。

  2、docs 目录:存放 Nginx 服务器的主要文档资料,包括 Nginx 服务器的 LICENSE、OpenSSL 的 LICENSE 、PCRE 的 LICENSE 以及 zlib 的 LICENSE ,还包括本版本的 Nginx服务器升级的版本变更说明,以及 README 文档。

  3、html 目录:存放了两个后缀名为 .html 的静态网页文件,这两个文件与 Nginx 服务器的运行相关。

  4、logs 目录:存放 Nginx 服务器运行的日志文件。

  5、nginx.exe:启动 Nginx 服务器的exe文件,如果 conf 目录下的 nginx.conf 文件配置正确的话,通过该文件即可启动 Nginx 服务器。

  一、启动 nginx

  双击解压之后目录中的 nginx.exe 文件,出现一闪而过的画面,则启动成功。

  然后在浏览器中输入 http://localhost 或者 http://localhost:80 出现如下界面即启动成功。

  

  ps:该页面即是上面解压目录中 html 目录下的 index.html 文件。

  二、关闭 nginx

  进入到解压之后的目录,输入如下命令:

1 nginx.exe -s stop

  

  或者也可以打开任务管理器,找到 nginx 的进程,直接右键结束。

③、Linux 版本安装

  选择的 Linux 系统为 CentOS6.8。

  一、安装 nginx 环境

1 yum install gcc-c++
2 yum install -y pcre pcre-devel
3 yum install -y zlib zlib-devel
4 yum install -y openssl openssl-devel

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

  对于 pcre,prce(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

  对于 zlib,zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

  对于 openssl,OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

  二、编译安装

  首先将下载的 nginx-1.14.0.tar.gz 文件复制到 Linux 系统中,然后解压:

1 tar -zxvf nginx-1.14.0.tar.gz

  接着进入到解压之后的目录,进行编译安装。

1 ./configure --prefix=/usr/local/nginx
2 make
3 make install

  注意:指定 /usr/local/nginx 为nginx 服务安装的目录。

  三、启动 nginx

  进入到 /usr/local/nginx 目录,文件目录显示如下:

  

  接着我们进入到 sbin 目录,通过如下命令启动 nginx:

./nginx

  当然你也可以配置环境命令,这样在任意目录都能启动 nginx。

  

  Linux 没有消息就好消息,不提示任何信息说明启动成功。

  或者也可以输入如下命令,查看 nginx 是否有服务正在运行:

ps -ef | grep nginx

  然后我们在浏览器输入Linux系统的IP地址,出现windows安装成功的界面即可。

  

  四、关闭 nginx

  有两种方式:

  方式1:快速停止

1 cd /usr/local/nginx/sbin
2 ./nginx -s stop

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

  方式2:平缓停止

1 cd /usr/local/nginx/sbin
2 ./nginx -s quit

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

  五、重启 nginx

  方式1:先停止再启动

1 ./nginx -s quit
2 ./nginx

  相当于先执行停止命令再执行启动命令。

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

1 ./nginx -s reload

  通常我们使用nginx修改最多的便是其配置文件 nginx.conf。修改之后想要让配置文件生效而不用重启 nginx,便可以使用此命令。

  六、检测配置文件语法是否正确

  方式1:通过如下命令,指定需要检查的配置文件

nginx -t -c  /usr/local/nginx/conf/nginx.conf

  方式2:通过如下命令,不加 -c 参数,默认检测nginx.conf 配置文件。

nginx -t 

  

 

Nginx(一)------简介与安装相关推荐

  1. Nginx之简介与安装(一)

    说到 Nginx ,可能大家最先想到的就是其负载均衡以及反向代理的功能.没错,这也是当前使用 Nginx 最频繁的两个功能,但是 Nginx 可不仅仅只有这两个功能,其作用还是挺大的,本系列博客就来慢 ...

  2. Nginx入门教程-简介、安装、反向代理、负载均衡、动静分离使用实例

    场景 Nginx入门简介和反向代理.负载均衡.动静分离理解 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102790862 Ub ...

  3. nginx 简介与安装

    文章目录 nginx 简介 nginx 的特性 nginx 的优点 nginx基本功能 nginx 扩展功能 nginx 的应用类别 nginx 的模块 nginx 的工作原理 安装 关闭防火墙和 S ...

  4. nginx学习简介-安装-启动-命令-nginx配置文件详解

    nginx是什么:nginx是一个高性能的HTTP和反向代理web服务器.同时也提供了IMAP/POP3/SMTP服务. nginx特点:开源.占内存少.轻量级.高性能(有报告表面nginx能支持高达 ...

  5. LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用

    LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...

  6. Nginx在Windows下载安装启动与配置前后端请求代理

    场景 Nginx入门教程-简介.安装.反向代理.负载均衡.动静分离使用实例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103 ...

  7. FastDFS简介和安装

    官方网站 FASTDFS FastDFS简介和安装 软件包下载地址 安装gcc. 命令:yum install make cmake gcc gcc-c++ cd /usr/local/softwar ...

  8. Docker Compose 简介、安装、初步体验

    [Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...

  9. 高可用高性能负载均衡软件HAproxy详解指南-第一章(简介、安装)

    第一章:HAproxy简介及安装配置 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 目录 HAproxy简 ...

最新文章

  1. 响应式编程笔记(二):代码编写
  2. WEB开发中的会话控制
  3. 全球最难翻译的十大单词
  4. 【Python】查找目标值在列表中的索引序号
  5. oracle 分析视图,ORACLE 性能视图的分析和使用
  6. java 动态拼接sql_动态SQL拼接工具类
  7. mysql导入数据库某张表_MSSQLServer2005 导出导入数据库中某张表的数据
  8. Nodejs安装及使用
  9. Logstash + DataHub + MaxCompute/StreamCompute 进行实时数据分析
  10. 网络传输中利用fastjson将复杂嵌套数据类型Json格式转换(GeoJsonPolygon)
  11. 数据库表格数据导出到excel方法总结
  12. php压缩html文件,压缩html_PHP压缩html的函数代码
  13. Java中常用的设计模式【模板模式】
  14. wincc与第三方软件opc通讯_运用OPC实现WinCC与西门子SIMOTION的通讯
  15. 计算机英语(第四版)
  16. 开发IE插件Toolbar
  17. windows下jenkins批处理执行git pull失败的原因
  18. postgresql注入笔记
  19. python 循环播放音乐_python中pygame循环播放3首音乐和3张图片
  20. 2018年系统架构设计师案例分析真题及详细答案解析

热门文章

  1. Codeforces Round #370 (Div. 2) A. Memory and Crow 水题
  2. Sparkamp;Spark性能调优实战
  3. 技术开发频道一周精选2007-8-24
  4. 距离矢量路由协议(一)
  5. EditPlus 格式化HTML JS CSS
  6. HACMP 认证学习系列,第 2 部分-1:计划与设计
  7. 互联网时代的云服务器四大功能
  8. vagrant box php开发环境配置 -- 重新打包发布vagrant box
  9. 计算机意外地重新启动或遇到错误。windows安装无法继续。若要安装windows 请单击 确定 重新启动计算机...
  10. The file “Info.plist” couldn’t be opened because there is no such file