0%

问题描述

只用一台Nginx做反向代理,如果这台Nginx出现故障(比如宕机),则服务不可用。

以下给出keepalived双机热备方案实现Nginx高可用的方法。先介绍几个概念:

高可用

高可用(High Availability)是指系统或服务能够在面对硬件故障、软件崩溃、网络问题等各种故障情况下,仍然保持正常运行或快速恢复的能力,以减少服务中断时间,确保业务连续性和数据完整性。

双机热备

指一台服务器提供服务,另一台作为备用。当一台服务器不可用时另一台就自动顶上去。

keepalived

一个开源的高可用解决方案,通过VRRP协议实现故障转移,避免单点故障导致的服务中断。

keepalived双机热备方案实现Nginx高可用的步骤

阅读全文 »

介绍跨域问题前,首先了解浏览器的同源策略(Same-Origin Policy)

同源策略

同源策略是一种浏览器安全机制,限制了从一个源加载的文档或脚本与另一个源的资源进行交互的能力。

同源的定义

如果两个URL的协议、域名(IP)、端口号均相同,则它们是同源的,否则是跨源的。举例如下:

阅读全文 »

什么是负载均衡

负载均衡是一种网络流量分配技术, 其核心目的是将大量网络请求均匀分配到多个服务器,提高网络服务的可靠性。有如下作用:

  • 避免单点故障,提高可用性
  • 灵活的水平扩展,通过增加或减少服务器数量,提升扩展性;可以用多台便宜机器代替一台高性能机器,省钱
  • 优化资源利用率,减少响应时间,提升用户体验
  • 负载均衡器上支持过滤,阻挡不安全的请求,提高系统安全性
    阅读全文 »

Nginx文件下载服务器搭建

80端口启动下载服务器, 下载/var/www/downloads目录下的文件,nginx.conf如下:

1
2
3
4
5
6
7
8
server {
listen 80;
location /downloads/ {
root /var/www/downloads;
autoindex on; # 显示目录
autoindex_localtime on;
}
}

浏览器中访问,可以查到文件

1
2
3
4
5
http://192.168.52.200/
Index of /
../
1.txt 17-Nov-2024 14:52 0
2.txt 13-Nov-2024 21:44 0
阅读全文 »

Nginx的location配置,用于定义请求的URI和服务器响应之间的对应关系。

location语法

Nginx的location规则匹配的是URI, 不需要考虑后面的query_string。语法如下:

1
2
3
location [ = | ~ | ~* | ^~ | 空格 ] /URI { 
...
}

location modifier的解释

参数 解释
= 精确匹配, 如匹配成功就立即停止搜索
^~ 前缀匹配, 不使用正则表达式。如果匹配成功, 并且匹配字符串是最长的,就不再匹配其他location
~ 正则匹配,区分大小写
~* 正则匹配,不区分大小写
空格 前缀匹配, 不使用正则表达式
阅读全文 »

什么是虚拟主机

虚拟主机是指,把一台物理主机划分为多台虚拟主机,每台虚拟主机都可以是一个独立的网站,可以有独立的域名,具有完整的服务器功能。

Nginx提供虚拟主机功能,使我们不必为每个网站都提供一台Nginx服务器;只需运行一组Nginx进程,就可以运行多个域名不同网站

配置虚拟主机的方法

Nginx配置虚拟主机的方式有三种:

阅读全文 »