nginx服务器

本文介绍了Nginx服务器的基本概念、下载安装过程、常用命令,详细讲解了反向代理(包括文件夹代理、域名反向代理及location匹配规则)、负载均衡策略(如轮询、权重、IPHash、最少连接)以及动静分离的概念和配置。同时,讨论了Nginx的高可用性和nginx.conf配置文件解析。

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

一、介绍

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

二、下载和安装

官网:http://nginx.org/

① 点击 download
在这里插入图片描述
② 选择对应版本
在这里插入图片描述
这里下载的windows版本:
在这里插入图片描述
解压在非中文、没有空格和特殊字符的目录,即可
在这里插入图片描述
双击 nginx.exe 即可启动,在浏览器中输入http://127.0.0.1:80 出现以下页面说明启动成功。默认端口是80。
在这里插入图片描述
启动nginx后,想要停止可直接结束进程,此时注意,nginx有两个进程。
必须先停止辅进程(1420k这个),再停止主进程(1800K这个)才可以。先小后大。
在这里插入图片描述

三、nginx的命令

nginx常用命令(前提是配置path,将nginx.exe所在的目录添加到环境变量的path中)。

查看版本:nginx -v
启动:start nginx
停止:nginx -s stop (强行停止)
重启:nginx -s reload (必须在启动状态下重启,否则报错,一般用于修改过配置后重启)
查看帮助:nginx -h
停止:nginx -s quit (优雅的停止,处理完请求再停止)

四、nginx - 反向代理

在计算机网络中,反向代理是代理服务器的一种。

服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在。
在这里插入图片描述

4.1 文件夹代理

因为没有真实域名和服务器,本地测试先修改本机的hosts文件。

host文件路径:C:\Windows\System32\drivers\etc\hosts
在这里插入图片描述
第一步:Hosts中添加

127.0.0.1   www.wwb.com

第二步:在nginx的配置文件中增加server配置

server{
   
   
	listen  80;                 #监听的端口
	server_name  www.wwb.com;   #监听的域名
	location / {
   
   
		root E:/Nginx/test-imgs;   #转向的具体文件
	}
}

修改过配置文件,记得重启nginx,浏览器测试

第三步:测试
访问:www.wwb.com/a.jpg,即访可以访问文件:E:/Nginx/test-imgs/a.jpg

4.2 域名反向代理

http://www.wwb1.com --> http://127.0.0.1:8080

第一步:Hosts中添加
127.0.0.1 www.wwb1.com

第二步:修改配置如下

server{
   
   
	listen  80;                       #监听的端口
	server_name  www.wwb1.com;        #监听的域名
    location / {
   
   
    	proxy_pass http://127.0.0.1:8080;  #转向具体的地址 
    }
}

第三步:测试
重启nginx,访问:www.wwb1.com 即可跳转的指定的地址

原理说明:
server中包含属性listen ,其负责监听端口,如果有客户端访问该端口,就会检查http请求头中的Host属性的值是否为server_name属性的值,如果相等,再检查location的值是否和请求地址的URI地址匹配,如果匹配就执行相应操作。可以有多个location。

4.3 location匹配规则

在这里插入图片描述
说明:
默认情况下,优先级自上而下由高到低。
另外:
如果出现一个URI同时被两个 “^~开头” 规则匹配,那么匹配长度越长,优先级越高。
如果一个URI同时被两个正则匹配,在上的优先级更好。

五、nginx - 负载均衡

5.1 概念

nginx的负载均衡用于upstream模板定义的后端服务器列表中选取一台服务器接收用户的请求。

语法如下:

upstream [服务器组名称]{
  server [IP地址]:[端口号];
  server [IP地址]:[端口号];
  ....
}
server{
	listen  80;                    
	server_name  www.nginx.com;       
    location / {
    	proxy_pass http://
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值