Nginx简介与安装

一、Nginx简介

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

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

二、Nginx 的常用功能

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

  1、反向代理

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

  2、负载均衡

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

  3、Web 缓存

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

三、Nginx 安装

  关于 Nginx 的安装,分为在 Windows 平台和 Linux 平台安装,Windows 版本的 Nginx 服务器在效率上要比 Linux 版本的 Nginx 服务器差一些,而且实际使用的一般都是 Linux 平台的 Nginx 服务器。

  1、下载地址

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

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

  2、Windows版本安装

  1)解压nginx-1.18.0.zip 文件解压到当前目录

    解压目录如下:

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

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

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

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

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

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

  2)启动 nginx

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

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

 

 

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

  3)关闭 nginx

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

nginx.exe -s stop

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

  3、Linux 版本安装

1)下载安装包

   一般服务器都是都是搭建在Linux环境下,Nginx一般情况下也是安装在Linux环境下。进入Nginx安装包下载位置,复制下载地址,Linux下使用wget命令进行下载。

wget http://nginx.org/en/download/nginx-1.18.0.tar.gz

2)安装 nginx 环境

  在Linux下安装Nginx前还需要安装4个库,分别是gcc、PCRE、zlib、openssl。

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库。

3)编译安装

  ①创建一个文件夹,执行configure命令时会用到

mkdir -p /var/temp/nginx

  ②解压Nginx安装包,/usr/local/为解压路径,需要解压之前创建好

tar -zxvf nginx-1.18.0.tar.gz -C /usr/local/

  ③进入nginx目录下

cd nginx-1.18.0

  ④执行configure命令

./configure --prefix=/usr/local/nginx \
--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

  ⑤执行编译和安装命令

 make
 make install

  ⑥安装成功后查看安装目录

  4)启动 nginx

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

  ②通过如下命令启动 nginx

./sbin/nginx

  ③Linux 没有消息就好消息,不提示任何信息说明启动成功。或者也可以输入如下命令,查看 nginx 是否有服务正在运行:

ps -ef | grep nginx

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

 5)关闭nginx

   有两种方式:

  ①快速停止

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

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

  ②平缓停止

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

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

6)重启 nginx

  ①先停止再启动

1  ./nginx -s quit
2  ./nginx

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

  ②重新加载配置文件

./nginx -s reload

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

7)检测配置文件语法是否正确

  ①通过如下命令,指定需要检查的配置文件

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

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

nginx -t 

 

 

  

 

 

转自:https://www.cnblogs.com/ysocean/p/9384877.html

posted @ 2021-01-11 19:45  阿森2020  阅读(208)  评论(0)    收藏  举报