(2021-04-19)Nginx简述

Posted Mr. Dreamer Z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(2021-04-19)Nginx简述相关的知识,希望对你有一定的参考价值。

nginx简述


通常来说,我们只需要访问一台服务器的情况,是我们直接访问。

但是由于访问量过大,我们不得不添加新增的服务器。这时候我们就就需要一个代理服务器了,通过代理服务器帮助我们转发和处理请求。
而且我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮我们转发到不同的服务器上。这个过程是无感知的,用户并不知道是哪个服务器返回的结果,我们还希望它可以按照服务器的系统提供不同的权重选择,保证最佳的体验!
这时候我们就是需要Nginx。

在架构上,没有什么问题是加一层解决不了的。如果有,就再加一层。

1.什么是Nginx

Nginx是一个高性能(响应快)的HTTP和反向代理web服务器,同时也提供IMAP/POP3/SMTP服务。Nginx是由伊戈尔·塞索耶夫为俄罗斯访问第二的Rambler.ru站点开发的。
其特点是占有内存少,并发能力强。事实上Nginx的并发能力在同类型的网页服务器中表现较好。
Nginx是一个安装非常简单、配置文件非常简洁、bug非常少的服务。启动容易,并且可以几乎做到7*24小时不间断运行,即使运行数个月也不需要重启。
Nginx代码完全用C语言从头写成。官方测试支持高达50000个并发连接数的响应。

2.Nginx作用

http代理,反向代理。
说到反向代理,我们先来了解一下正向代理。

正向代理

简单来描述一下,其实就像我们最开始玩吃鸡。需要下载vpn。(本来想详细举例解释的,结果审核没有通过。。。。)
一句话概括:代理客户端叫做正向代理。

反向代理

由上图可知,同理可知代理服务器叫做反向代理。

3.Nginx负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。
内置策略:轮询,加权轮询,ip hash。
扩展策略:就天马行空,只有你想不到没有它做不到。

4.操作Nginx

安装Nginx可以通过菜鸟教程安装:安装Nginx

make无法使用问题

安装完成之后,我们可以通过命令得到Nginx的安装位置

whereis nginx


之后进入对应的路径

cd /usr/local/nginx

查看对应的目录文件

这里我们只要关注config,sbin就行了。

进入sbin文件,发现只有一个对应的命令

Nginx常用操作命令:

./nginx 启动
./nginx -s stop 停止
./nginx -s quit 安全退出
./nginx -s reload 重新加载配置文件
ps aux|grep nginx 查看Nginx进程

接着我们进入conf

通常我们只需要修改对应的nginx.conf配置文件即可,

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

#以上是全局配置

events 
    worker_connections  1024;#最大监听数




http 

	#http 配置服务
	
	keepalive_timeout  65;
	
	upstream xx  #xx是随意定的,用来给下面代理使用
		#负载均衡配置 weight都等于1(不写默认),交替执行(轮询) ,对应的数字代表比例
		server 127.0.0.1:8080 weight=3;
		server 127.0.0.1:8081 weight=1;
	
	
	
	server 
		listen       80;#监听的端口号
        server_name  xx;#必须和负载均衡的名称对应
        
		#www.baidu.com
		#如果访问80的根目录,那么进入location
		location / 
			root   html;
            index  index.html index.htm;
			proxy_pass http://xx;  #反向代理
			proxy_set_header Host yqzb.whhealth.org.cn:2005;#新增请求头
		
		
		#www.baidu.com/admin
		#如果访问80下面的admin,那么进入location
		location /admin 
		
		
		
		
	
    server 
        listen       8888;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / 
            root   html;
            index  index.html index.htm;
        


如上述配置文件说明,在配置文件中location其实就是设置反向代理的信息,而upstream则是设置负载均衡规则以及代理的名称

以上是关于(2021-04-19)Nginx简述的主要内容,如果未能解决你的问题,请参考以下文章

Nginx入门

2W 字你全面认识 Nginx

LVS,Nginx及HAProxy三种负载均衡器比较

收藏了!2W 字重新梳理一遍 Nginx!

花2个小时考C认证,这不比埋头写这么多代码强?

rhel6.5环境下部署nginx服务