NGINX学习记录-基础入门篇

 学习《NGINX 经典教程》林静,刘旭峰,章澍,廖健雄,宗兆伟 ... 著

目录

一、Nginx优点

二、功能(应用场景)

反向代理。

负载均衡

静态缓存

Web服务器

安全和访问控制

三、nginx安装

四、启动、停止和重载nginx

五、配置文件

六、配置静态文件web服务器


一、Nginx优点

  1. 高并发。能够处理高并发请求是nginx最显著的特点。
  2. 高稳定性。
  3. 高扩展性。Nginx以模块未单位组织相应的配置解析和功能实现,做到了模块内高内聚、模块间低耦合。

二、功能(应用场景)

反向代理。

反向代理运行于服务器端,代表服务器端接收来自客户端的请求,并将后端服务器给出的相应返回给客户端。通常回合其他核心功能联用,如跟负载均衡功能联用,可以实现带权重的请求转发以及限流和灰度发布。

负载均衡

背景:单台服务器的处理能力已经不能满足高并发环境下的相应要求。

Nginx 提供了针对HTTP、TCP和UDP的负载均衡,以及多种内置策略(如轮询、加权轮询、IP和cookie hash等),让用户能够根据自己业务的流量特点,按照特定的规则分流来自前端的请求。

Nginx的负载均衡同时也包含检查上游服务器状态的能力。

静态缓存

    使用静态缓存把静态资源缓存下来。Nginx的静态缓存功能 有效减少了服务器在计算和传输静态资源时产生的性能消耗。静态资源包括动态页面中的静态部分、静态页面和资源文件等。

Web服务器

     是nginx的基础功能。用户可以使用server配置块定义自己的web服务器,如监听IP端口、协议类型、SSL及网络传世行为;使用location配置块定义URL及请求发生时的响应逻辑。

安全和访问控制

常见场景

  1. SSL卸载/加载:实现对四层、七层服务器流量的SSL加解密。
  2. HTTP认证访问控制:实现对前端请求JWT或Basic Auth的认证方式。
  3. 针对特定资源的访问控制:针对资源的类型或者访问者地址做控制。
  4. 动态黑白名单:针对客户端IP或者Keyval模块实现基于IP的访问控制

    

三、nginx安装

1.下载nginx源

rpm -Uvh

http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装 

yum install -y nginx

安装成功

 使用一下命令进行启动

systemctl start nginx   //启动

Systemctl enable nginx   //添加nbinx服务到开机启动

Ps -aux|grep nginx   //查看进程状态

切换到nginx 目录下 cd  /etc/nginx

查看目录下的文件

fastcgi* : 包含FastCGI相关参数的配置。

mime.types : 媒体类型的文件

nginx.conf : nginx默认的主配置文件

scgi_params : 包含SCGI相关参数的配置。

uwsgi_params : 包含uWSGI相关参数的配置

四、启动、停止和重载nginx

 运行nginx可执行文件,即可启动nginx。

 * nginx可执行文件可能并不在path环境变量中 如果不在,则需要使用一下命令将其添加到path变量中

 export PATH=$PATH:/usr/local/nginx/sbin

 启动nginx后,可以通过-s以发送信号的方式管理nginx进程

 nginx -s signal

 master进程接收以下信号

 stop :立即退出

 quit:优雅退出

 reload 重载配置

 reopen:重新打开日志文件

nginx进程结构:

nginx的进程空间由一个master进程和多个worker进程组成。

Master进程的主要职责是读取和评估配置,并维护worker进程。

Worker进程负责处理实际的请求。Worker进程的数量可以在配置文件中自定义,也可以使用默认值,即可用的CPU内核数。

执行ps -ax | frep nginx命令可以查看nginx的所有进程

Nginx -h 命令可以查看nginx所有参数组成的列表

其中

-p : 用于指定使用的根目录。我们默认使用的根目录是在编译时指定的。可以将nginx安装目录复制到别处,并使用-p参数重新指定跟目录。

-c:用于指定配置文件,这个参数只是改变配置文件,而不改变根目录。

-g:用于将全局快配置放置在命令行中。当配置文件和命令行同时出现相同的配置项时,命令行优先,它会覆盖配置文件中对应的配置项。这个参数可以方便我们临时改变nginx全局配置,如worker_processes、user、error_log等。

五、配置文件

配置文件为静态配置。内部各配置块的先后顺序没有要求。

#全局配置:放置全局配置指令,例如nginx服务的用户组、nginx进程的PID路径、日志路径、配置文件的索引和worker进程数等

#events块配置:nginx采用异步非阻塞的时间驱动机制,在events配置快中可以定义每个#worker进程的最大连接数、驱动模型等

#http块配置:定义http协议的处理行为,内部可以嵌套多个server块,配置发多数模块(代理缓存等)的功能

#server块配置:定义web服务器的相关参数,如监听端口、域名、内部嵌套的location块配置等。

#location块配置:配置请求的资源路径和资源处理行为。

六、配置静态文件web服务器

将web前端的文件(如vue打包后的dist文件夹里的文件)拷贝到服务器 /data/www目录

user root;#
在实际环境中需要把该项改成NGINX启动的账号, 并保证其访问权限

work_processes 1;

events {

	work_connections 1024;

}

http {

	 
	server {

		location / {   #
			第一个location块

			Root / data / www;

		}

		location / images / { #
			第二个location块

			Root / data;

		}


	}

}

如果请求匹配到多个localtion块,那么nginx会选择具有最长前缀的location块。

这里有两个location块, 会先匹配#第二个location块,如果没匹配到的话,才使用#第一个location块

配置文件保存之后,使用以下命令重新加载配置文件。如果未启动nginx的话 需要启动nginx。

nginx -s reload

这里配置server块是,没有使用listen指定显式地指定监听端口,因此nginx会默认监听80端口。

我们在浏览器上打开http://服务器ip/  就可以访问配置好的静态文件web服务器

ps:仅学习记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值