(2021-04-19)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则是设置负载均衡规则以及代理的名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值