欢迎光临
我们一直在努力

Nginx搭建与配置:打造高性能Web服务器和反向代理

Ngix是一个开源的高性能的HTTP服务器和反向代理服务器,它具有异步,事件驱动的架构,非常适合高流量的 Web 站点和 APIs 所需求的可扩展性,可靠性和高可用性的需要。本篇博客旨在帮助初学者配置nginx,并重点介绍Nginx的核心配置参数。

一、Nginx 的搭建

1.安装 Nginx

2.启动和检查nginx服务

3.配置防火墙

4.测试Nginx

二、Nginx 的核心配置

1.server

2.location

3.upstream

三、结论

1.安装 Nginx

以Ubuntu系统为例,可以使用以下命令安装nginx:

sudo apt update sudo apt install nginx

2.启动和检查nginx服务

安装完成后,使用以下命令启动和检查nginx服务

sudo systemctl start nginx sudo systemctl status nginx 

命令运行后能够看到nginx运行状态为“active (running)”即为成功,如下例所示:

nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-11-16 23:29:20 +08; 10h ago 

3.配置防火墙

如防火墙有开启,需添加nginx的规则使其可以通过防火墙访问。默认情况下,nginx使用的是TCP端口80和443,但我们可以在需要时更改它们。例如,如果要更改http协议使用的端口号,请编辑文件/etc/nginx/nginx.conf并找到以下行:

listen 80 default_server; 

将其更改为:

listen 8080 default_server; 

4.测试Nginx

完成上述配置后,使用Web浏览器访问服务器IP地址、域名、主机名以确定Nginx 网站服务器是否正常运行。

1.server

server指令是Nginx配置的一个基本模块,负责处理请求的分发。每个server指令包含了一组配置参数,在某个请求来到Nginx时,就会根据这些参数来处理该请求。

在Nginx中,server指令都放在 http 块之内,如下:

http { server { ... } } 

每个server块中关键指令有:

  • listen: 确定Nginx应使用的端口和协议进行监听
  • server_name: 决定哪个请求应该由该server块处理
  • root:确定该server块应为请求服务的文件系统路径
  • index:用于确定当请求基于目录请求时,应使用哪个文件作为默认文档返回

下面是一个简单的展示了server指令的核心功能:

http { server { listen 80; server_name localhost; root /var/www; index index.html; location / { } } } 

2.location

Nginx中的location指令可以匹配URI路径,并且能使Nginx处理这些请求。

在Nginx配置文件中,location指令通常语法为:

location uri { ... } 

其中uri可以是正则表达式或静态URI路径等类型。uri是用来匹配请求路径的。

location主要有以下三种类型:

  • location =:精确匹配请求字符串,匹配成功即停止匹配;
  • location ~:正则表达式匹配,区分大小写;
  • location ~*:正则表达式匹配,不区分大小写;

下面是一个简单的展示了location指令的核心功能:

http { server { listen 80; server_name localhost; root /var/www; index index.html; location /pictures/ { try_files $uri/index.html $uri =404; } location /downloads { try_files $uri /downloads/index.html =404; autoindex on; # 开启自动目录索引功能 } } } 

在上面的示例中,我们通过location指令来处理不同的请求。例如,当来自 /pictures/ 路径的请求时,Nginx将尝试使用 $uri/index.html 和 $uri。 当来自 /downloads 路径的请求时,Nginx会跳转到 /downloads/index.html,也会启用自动索引功能。

3.upstream

在Nginx配置文件中,upstream指令用于定义后端服务。当一些请求到达Nginx,它通常会转发到充当反向代理的Web服务器。通过使用 upstream指令,可以在Nginx配置文件中定义这些反向代理服务器列表,以供随后使用。

在Nginx中,可以通过以下方法来配置upstream:

http { upstream test_web_servers { server 192.168.1.10:8080; server 192.168.1.11:8080; server 192.168.1.12:8080; server 192.168.1.13:8080; } server { location / { proxy_pass http://test_web_servers; } } } 

在此示例中,我们使用 upstream 指令为一组反向代理服务器创建了一个列表,然后将其传递给proxy_pass指令,以便处理由 Nginx 转发到该服务器的所有请求。

除了proxy_pass指令以外,因为默认情况下,如果NGINX无法通过某些措施解决请求,就会出现“502 Bad Gateway”错误,因此upstream也有其他几个配置选项:

  • least_conn:轮询方法,选择最少连接的服务器
  • ip_hash:IP哈希方法,为请求分配服务器
  • keepalive:消息保持连接时限,保持连接池打开的最大空闲连接的最大数量等、

本篇博客展示了Nginx的基本搭建,以及核心配置文件的重要指令,能够对于初学者来说能够作为一个入门指南。这些配置可以使您开始运行专业的Web服务器,也可以通过更改参数来优化,以获得更好的性能和可靠性的体验。实践中,您还可能根据需要自定义其他指令,以满足特定的需求和需求。

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《Nginx搭建与配置:打造高性能Web服务器和反向代理》
文章链接:https://www.456zj.com/39535.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址