Nginx介绍

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: Nginx介绍

简介


nginx是一款轻量级的web服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存小,并发能力强,事实上nginx的并发能力在同类型的服务器中表现较好,中国大陆使用nginx的网站有百度,京东,腾讯等

nginx是由俄罗斯人开发,最早的发布于2004年


nginx下载和安装


安装过程:

1.安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

2.解压压缩包 tar -zxvf nginx-1.16.1.tar.gz

3.到配置目录中去 cd nginx-1.16.1/

4.设置安装目录 ./configure --prefix=/usr/local/app/nginx

5.安装 make && make install


nginx目录结构介绍


1.conf/nginx.cong    nginx配置文件

2.html 存放静态文件

3.logs 日志目录,存放日志文件

4.sbin/nginx 二进制文件,用于启动,停止nginx


nginx命令


查看版本号:./nginx -v

检查配置正确性: ./nginx -t

启动和停止:

启动: ./nginx

停止: ./nginx -s stop

启动完成后可以查看nginx进程: ps -ef|grep nginx

当修改nginx配置文件后,需要重新加载才能生效,在sbin目录下输入:

./nginx -s reload


nginx配置文件结构


全局块:和nginx运行相关的全局配置

events块:和网络连接相关的配置

http块:代理,缓存,日志记录,虚拟主机

http全局块

server块

server全局块

location块

注:http块可以配置多个server块,每个server块可以配置多个location块


nginx具体应用


部署静态资源


nginx可以作为静态web服务器来部署静态资源。静态资源是指在服务端真实存在而且可以展示的文件,如html,css等

相比于tomcat,nginx处理静态资源的能力更加高效,所以在生产环境下,一般将金泰资源部署到nginx。

具体过程只需要将文件复制到nginx安装目录下的html目录中即可

例:

server{
        listen 80;   #监视端口
        server_name localhost;  #服务器名称
        location /{     #匹配客户端请求url
        root html;   #指定静态资源根目录
        index index.html;   #指定默认首页
}

反向代理


正向代理介绍


是一个位于客户端和原始服务器之间的服务器,为了从原始服务器获取内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端

正向代理的典型用途是为在防火墙内的局域网用户提供访问internet途径

正向代理一般是在客户端设置代理服务器,哦通过代理服务器转发请求,最终访问到目的服务器


反向代理介绍:


反向代理服务器位于用户和目标服务器之间,但是对于用户而言,反向代理服务器相当于目标服务器,即用户直接访问反向代理服务器就要可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器

用户无需知道目标服务器的地址,也无需在用户端作任何决定


配置反向代理

server{
        listen 80;   #监视端口
        server_name localhost;  #服务器名称
        location /{     #匹配客户端请求url
        proxy_pass http://192.169.209.130;  #反向代理配置,将请求转发到指定服务
}

负载均衡


背景


       早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,随着互联网的发展,业务流量越来越多,单台服务器的性能以及单点故障问题就显露出来了,需要多台服务器组成应用集群,进行性能的水平拓展以及避免单点故障出现

1.应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理以及返回响应

2.负载均衡器:将用户的请求根据对应的负载均衡算法分发到应用集群中的一台服务器


负载均衡配置


upstream targetserver{
        server 192.168.209.100:8080;
        server 192.168.209.100:8080;
}
server{
        listen 80;   #监视端口
        server_name localhost;  #服务器名称
        location /{     #匹配客户端请求url
        proxy_pass http://targetserver;    #负载均衡
}

负载均衡策略


轮询 (默认方式)

Weight 权重方式

Ip_hash 依据ip分配方式

Least_conn 依据最少连接方式

Url_hash 依据url分配方式

fair 依据响应时间

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
监控 关系型数据库 MySQL
MySQL创建索引的注意事项
在数据库设计和优化中,索引的合理使用是提高查询性能和加速数据检索的关键因素之一。通过选择适当的列、了解数据分布、定期维护和监控索引性能,我们能够最大程度地发挥索引的优势,提高数据库的效率和响应速度。
411 0
|
存储 SQL 算法
Ocean Base 存储引擎结构(上) | 学习笔记
快速学习 Ocean Base 存储引擎结构(上)
Ocean Base 存储引擎结构(上) | 学习笔记
|
网络协议 Linux 数据安全/隐私保护
如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问
如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问
|
Java Maven
Java系列之:GroupId和ArtifactId的作用
这篇文章解释了在Maven项目中`GroupId`和`ArtifactId`的含义和作用,其中`GroupId`通常由域和自定义域名组成,用于区分组织或公司,而`ArtifactId`是项目或模块的名称,两者结合用于唯一标识项目包,确保不会与他人的项目包重复。
|
移动开发 前端开发 JavaScript
页面手写签名实现:利用Canvas技术将签名保存为图片
页面手写签名实现:利用Canvas技术将签名保存为图片
579 0
|
Kubernetes API 调度
在K8S中,Pod的创建过程有哪些?
在K8S中,Pod的创建过程有哪些?
|
Kubernetes API 调度
在K8S中,创建一个Pod的主要流程是什么?
在K8S中,创建一个Pod的主要流程是什么?
|
敏捷开发 Kubernetes Cloud Native
【阿里云云原生专栏】跨云部署与管理:阿里云云原生技术的多云策略
【5月更文挑战第25天】阿里云云原生技术提供多云策略,助力企业高效跨云部署与管理。通过容器化(如Kubernetes)、服务网格等,实现应用一致性与可移植性;统一资源管理,简化跨云操作。挑战包括数据同步、网络问题和平台差异,但阿里云的解决方案为企业在多云环境中实现资源优化、业务敏捷和系统可靠性提供了强有力支持。随着云计算发展,阿里云将持续演进其多云策略,为企业数字化转型提供保障。
386 1
|
Linux
CentOS 7 配置yum阿里源 (三步即可)
CentOS 7 配置yum阿里源 (三步即可)
30719 1
|
关系型数据库 分布式数据库 数据库
VLDB顶会论文解读 | PolarDB MySQL高性能强一致集群核心技术详解
在VLDB2023会议上,阿里云瑶池数据库团队的论文介绍了PolarDB-SCC,这是一个创新的云原生数据库系统,确保了低延迟的全局强一致读取。PolarDB-SCC解决了传统主从架构中只读节点可能返回过期数据的问题,实现了在不影响性能的情况下提供强一致性。通过重新设计的主从信息同步机制、线性Lamport时间戳和细粒度修改跟踪,以及利用RDMA优化的日志传输,PolarDB-SCC已经在PolarDB中成功应用超过一年,成为业界首个无感知全局一致性读的云原生数据库解决方案。
67500 0