Nginx 入门

一、Nginx入门

1.1 什么是Nginx?

Nginx 是一款高性能的 http 服务器/反向代理服务器 及电子邮件(IMAP/P0P3)代理服务器。
有俄罗斯的程序设计师 Igor Sysoev 所开发,官方测试 Nginx 能够支撑 5 万并发链接,并且
CPU、内存等资源消耗却非常低,运行非常稳定,所以现在知名的公司都在使用Nginx。

1.2 Nginx 的应用场景

1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
2、虚拟主机。可以实现一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 Nginx 
   做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

1.3 Windows 环境下安装 Nginx
1.3.1 安装过程

1、解压安装包
2、双击 nginx.exe	运用程序
3、查看 logs 目录中的 error.log 的大小为 0kb,说明启动没有报错,查看后台是否有 Nginx 的进程
4、在浏览器地址栏中输入 127.0.0.1,能够跳转到 Nginx 的欢迎页面。

nginx 常用命令

停止 nginx
./nginx -s stop  	停止
./nginx -s quit		退出
./nginx -s reload	重新加载 nginx.conf

1.3.2 Windows 常用命令

1.4 Nginx 的优缺点
1.4.2 Nginx.config 文件结构
1.4.3 配置静态访问

1.5 Nginx 实现反向代理
1.5.1 什么是反向代理?

反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,
并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

作用:不对外暴露真实的 IP 地址,进行请求转发,从而保证接口的安全性
在这里插入图片描述

1.5.2 Host 文件新增
1.5.3 Nginx.config 配置

1.6 Nginx 实现负载均衡
1.6.1 什么是负载均衡

负载均衡,建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、
提高网络的灵活性和可用性。
负载均衡,英文名为 Load Balance,其意思就是分摊到多个操作单元上进行执行,例如 web 服务器、 FTP 服务器、企业关键应用服务器和
其他关键人物服务器等,从而共同完成工作任务。

作用:减轻单台服务器的压力。解决高并发常用的解决方案。
在这里插入图片描述
高并发解决方案:
在这里插入图片描述

1.6.2 负载均衡策略

1、轮训(默认)
   每个请求按照时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
   upstream backserver {
		server 192.168.0.14;
		server 192.168.0.15;
	}

2、指定权重
   指定轮训几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。
	upstream backserver {
		server 192.168.0.14 weight=10;
		server 192.168.0.15 weight=10;
	}
	
3、IP 绑定 IP hash
   每个请求按访问 IP 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 问题。
   upstream backserver {
		ip_hash;
		server 192.168.0.14:88;
		server 192.168.0.15:80;
	}

1.6.3 配置代码

upstream myhttpServer {
	server 127.0.0.1:8080;
	server 127.0.0.1.8081;
}

server {
	listen 80;
	server_name http://www.test.com;
	location / {
		proxy_pass http://myhttpServer;
		index index.html idex.htm;
	}
}

1.6.4 宕机轮询配置规则

upstream myhttpServer {
	server 127.0.0.1:8080;
	server 127.0.0.1.8081;
}

server {
	listen 80;
	server_name http://www.test.com;
	location / {
		proxy_pass http://myhttpServer;
		index index.html idex.htm;
		// 宕机轮训配置
		proxy_connect_timeout 1;
		proxy_send_timeout 1;
		proxy_read_timeout 1;
	}
}

1.7 Nginx 解决网站跨域问题

1.8 Nginx 配置防盗链

1.9 Nginx 配置 DDOS

1.9.1 限制请求速度

ddos是什么?模拟请求。IP次数。流量攻击
设置 Nginx、NginxPlus 的连接请求在一个真实用户请求的合理范围内。比如,如果你觉得一个正常用户每两秒就可以请求一次登录页面,你就可以设置 Nginx 每两秒钟接收一个客户端 IP 的请求(大约等同于 30 个请求)。

// 定义限流规则
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;

server {
	// 引用上面的限流规则
	limit_req zone=one;
	listen 80;
	server_name http://www.test.com;
	location / {
		proxy_pass http://myhttpServer;
		index index.html idex.htm;
	}
}

二、Linux 环境中使用 Nginx

2.1、Linux 安装

2.1.1 安装 PCRE 库

$ /usr/local/
$ wget ftp:ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
$ tar -zxvf pcre-8.36.tar.gz
$ cd pcre-8.36
$ ./configure
$ make
$ make install

./configure  报错:configure:error:You need a C++ compiler for C++ support.
解决办法:
	yum install -y gcc gcc-c++	

2.1.2 安装 zlib 库

$ cd /usr/local/
$ wget http://zlib.net/zlib-1.2.8.tar.gz
$ tar -zxvf zlib-1.2.8.tar.gz
$ cd zlib-1.2.8
$ ./configure
$ make
$ make install	

2.1.3 安装 ssl

$ cd /usr/local
$ wget http://www.openssl.org/source/openssl-1.0.0j.tar.gz
$ tar -zxvf openssl-1.0.1.j.tar.gz
$ ./config
$ make
$ make install

2.1.4 安装 Nginx

$ cd /usr/local
$ wget http://nginx.org/download/nginx-1.8.0.tar.gz
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0
$ ./configure --prefix=/usr/local/nginx
$ make
$ make install

2.2 启动 Nginx

2.2.1 常用命令

启动:
需要先进入到这个目录下:/usr/local/nginx/sbin/nginx,然后使用一下命令启动。
	$ /usr/local/nginx/sbin/nginx 启动命令
查看 Nginx 是否启动成功:
	$ ps aux | grep 'nginx'
重启:
	$ /usr/local/nginx/sbin/nginx -s reload
停止:
	$ /usr/local/nginx/sbin/nginx -s stop
测试配置文件是否正常:
	$ /usr/local/nginx/sbin/nginx -t
强制关闭:
	$ pkill nginx

启动后在 浏览器地址栏中输入虚拟机的 IP 地址即可访问到 Nginx。

2.3 启动 Nginx + keepalived 高可用

2.3.1 什么是 Keepalived?

下载 keepalived 地址:http://www.keepalived.org/download.html
解压安装:
tar -zxvf keepaliced-1.2.18.tar.gz -C /usr/local/
yum install -y openssl openssl-devel(需要安装一个软件包)
cd keepalived-1.2.18/&&./configure --prefix=/usr/local/keepalived
make && make install

2.3.2 安装 keepalived 成 Linux 系统服务
2.3.3 keepalived 常用命令
2.3.4 配置 Nginx主备

2.4 Nginx 负载均衡

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
nginx是一个高性能的开源Web服务器软件,它可以作为反向代理服务器、负载均衡器和HTTP缓存服务器等多种用途。对于初学者,可以通过阅读《nginx 快速入门》这本PDF来学习nginx的基本知识和使用方法。 《nginx 快速入门》这本PDF提供了全面而详细的关于nginx的介绍和使用指南。首先,它简要介绍了nginx的历史、特点和优势,帮助读者对nginx有一个整体的了解。然后,它详细介绍了nginx的安装和配置过程,包括如何在不同操作系统上安装nginx、如何配置nginx的基本选项和参数等。 除了安装和配置,这本PDF还介绍了nginx的核心功能和常用模块的使用方法。例如,它详细介绍了如何配置nginx作为反向代理服务器,将客户端的请求转发到后端的应用服务器;如何配置nginx作为负载均衡器,实现请求的分发和负载均衡;以及如何配置nginx作为HTTP缓存服务器,提高Web应用的性能等。 此外,这本PDF还介绍了nginx的安全性和高可用性相关的内容,例如如何配置SSL证书进行HTTPS加密传输、如何配置基于HTTP Basic Authentication的访问控制、如何配置nginx实现故障转移和负载均衡等。 总之,《nginx 快速入门》这本PDF是一本适合初学者快速入门nginx的指南。通过阅读这本PDF,读者可以了解nginx的基本概念和使用方法,并能够配置和管理一个基本的nginx服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值