nginx介绍及安装

1、概念

Nginx概述

  • Nginx(“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

  • Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl、php等。但是不支持java。Java程序只能通过与tomcat配合完成。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50,000个并发连接数。

    正向代理

  • Nginx不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。(需要在客户端配置代理服务器进行指定网站访问)

反向代理

  • 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

负载均衡

  • 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的,成 本也低。但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂 度增加,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易 造成服务器直接崩溃。 这时候集群的概念产生了,单个服务器解决不了,可以增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

动静分离

  • 为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

2、linux系统安装nginx

  • 进入nginx官网http://nginx.org/en/download.html下载压缩包并执行`tar -zxvf nginx-1.18.0.tar.gz`解压。

  • 执行./configure --prefix=/var/nginx-1.18.0 --with-http_ssl_module --with-http_stub_status_module命令,其中--prefix代表安装的路径,--with-http_ssl_module代表安装ssl,--with-http_stub_status_module即查看nginx的客户端状态。

  • 执行make & make install进行编译安装nginx,执行成功后会在出现刚才设置的/var/nginx-1.18.0目录。其中make命令是把各种语言写的源码文件,变成可执行文件和各种库文件;make install命令是把这些编译出来的可执行文件和库文件复制到合适的目录。

  • 进入/var/nginx-1.18.0/sbin目录运行./nginx启动nginx。 运行成功后访问http://localhost:80(nginx默认启动占用80端口),出现以下图片内容即为安装成功。

nginx常用命令

1
2
3
4
5
6
./nginx -t # 验证配置文件是否能正常启动
./nginx #启动nginx
./nginx -s quit #正常停止
./nginx -s stop #快速停止
./nginx -s reload #重新加载
./nginx -V #查看版本信息