ngnix入门

本文介绍了Nginx作为高性能HTTP服务器和反向代理的作用,及其在Windows和Linux上的安装步骤。重点讲解了如何配置Nginx进行反向代理,包括简单代理、路径匹配和负载均衡策略。此外,还涵盖了Nginx的常用命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、nginx作用

1、高性能的http和反向代理web服务器,特点是占有内存少,并发能力强。Nginx专为性能开发,能经受高负载(why)并发数支持高达50000个。支持热部署
2、反向代理
正向代理(代理客户端):浏览器配置代理服务器,通过代理服务器进行互联网访问
反向代理(代理服务器端): 客户端直接访问反向代理服务器,反向代理服务器请求真实的服务器,对外暴露反向代理服务器,隐藏真实服务器
3、负载均衡:即将高并发的请求分发到多个服务器上,降低单个服务器的压力。
4、动静分离:提高网站的反应速度,将动态资源和静态资源分别部署,一般将静态资源部署到nginx服务器上,动态资源通过反向代理转到相应的后台获取,实现动静分离,使用前后端分离,可以有效提高前端页面的响应速度。

负载均衡策略
1、轮询 (默认)
2、weight 权重分配
3、ip_hash
4、least_conn 最小连接

2、ngnix的安装

nginx官网
在这里插入图片描述

2.1 window安装:下载后解压到无中文路径下;默认80端口

在这里插入图片描述
启动nginx;访问127.0.0.1:80
在这里插入图片描述

2.2 Linux安装

whereis nginx:查看nginx是否安装
上传文件到服务器:tar -xzvf file.tar.gz
进入文件:一次执行命令 ./configure;
在这里插入图片描述
make
在这里插入图片描述
make install
whereis nginx:查找安装目录,进入目录
在这里插入图片描述
sbin目录下执行nginx
在这里插入图片描述
nginx配置文件结构:

全局配置
events {
    worker_connections  1024;
}
http {
    http 配置
    upstream XX{
        server 127.0.0.1:8081;
		server 127.0.0.1:8080 weight=2;
    }
    server {
        listen       80;
        server_name  localhost;
		
        location / {  #根路径的请求
            root   html;
            index  index.html index.htm;
        }
        location /edu/ {	# http://www.abc.com/edu/
			proxy_pass http://XX;
		}
    }

    server {
        listen       80;
        server_name  localhost;

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

3、nginx配置反向代理

3.1 简单代理网站

修改nginx.conf文件
server {
listen 8088; #监听端口
server_name localhost; #配置域名可以解析才可以转到代理网站
location / {
root html;
index index.html index.htm; # 默认nginx页面
proxy_pass http://www.bilibili.com; # 代理网站地址
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

3.2 根据不同的请求路径请求不同的端口server {
	listen 8089;
	server_name www.abc.com;  #根据不同的请求请求不同的端口www.abc.com配置到hosts文件中 
	location ~ /vod/ {	#请求中包含vod的的请求  http://www.abc.com:8089/vod/test
		proxy_pass http://127.0.0.1:8080;
	}
	location ~ /edu/ {	# http://www.abc.com:8089/edu/test
		proxy_pass http://127.0.0.1:8081;
	}
}
3.3 关于nginx的location路径和proxy_pass代理的上下文路径细节问题,以下分为四种情况来说明:

参考

4、配置负载均衡

upstream myserver{
	server 127.0.0.1:8081;
	server 127.0.0.1:8080 weight=2;
}
server {
    listen       8088;
    server_name  localhost;   #配置域名可以解析才可以转到代理网站
	location / {
		proxy_pass http://myserver;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

fail_timeout 与max_fails结合使用
max_fails 设置在fail_timeout参数设置的时间内最大失败次数,如果在这个时间内所有 针对该服务器的请求都失败了,那么认为该服务器会被认为是停机了
fail_time 服务器会被认为停机的时间长度,默认为10s。
backup 标记该服务器为备用服务器。当主服务器停止时,请求会被发送到它这里。
down 标记服务器永久停机了。
在轮询中,如果服务器down掉了,会自动剔除该服务器。
缺省配置就是轮询策略。
此策略适合服务器配置相当,无状态且短平快的服务使用。

upstream foo {
ip_hash;#负载均衡策略
server localhost:8001 weight=2; #权重
server localhost:8002;
server localhost:8003;
server localhost:8004 max_fails=3 fail_timeout=20s;
}

5、 nginx常用命令

windows
start nginx 启动nginx
nginx -s reload 热重启
nginx -s reopen 重启 Nginx
nginx -s stop 快速关闭
nginx -t 查看当前 Nginx配置

  • linux
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值