当前位置: 首页 > wzjs >正文

网站普查建设背景友情链接检测平台

网站普查建设背景,友情链接检测平台,中英文微信网站开发,上海多家商场调整营业时间使用 Docker 部署 Nginx,配置后端 API 轮询与多个子域名前端应用 在这篇博客中,我们将介绍如何通过 Docker 部署 Nginx 服务器,并配置 多个后端 API 的轮询负载均衡,同时通过 子域名 部署多个不同的前端应用。Nginx 将作为反向代…

使用 Docker 部署 Nginx,配置后端 API 轮询与多个子域名前端应用

在这篇博客中,我们将介绍如何通过 Docker 部署 Nginx 服务器,并配置 多个后端 API 的轮询负载均衡,同时通过 子域名 部署多个不同的前端应用。Nginx 将作为反向代理服务器,处理来自客户端的请求,并将其转发到不同的后端服务,同时根据不同的子域名提供静态资源。我们还会介绍如何映射日志文件以便持久化存储。


一、使用 Docker 部署 Nginx

1. 创建 Nginx 配置文件

首先,在服务器上创建用于存放 Nginx 配置文件静态资源 的目录:

mkdir -p /home/middleware/nginx/conf
mkdir -p /home/middleware/nginx/html

然后,在 /home/middleware/nginx/conf 目录下创建 nginx.conf 配置文件,内容如下:

worker_processes auto;events {worker_connections 1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout 65;# 后端 API 配置(轮询负载均衡)upstream backend_servers {server 192.168.1.1:8080;server 192.168.1.2:8080;}# 反向代理配置server {listen 80;server_name example.com;location / {root /usr/share/nginx/html;index index.html;try_files $uri /index.html;}# 反向代理后端 APIlocation /api/ {proxy_pass http://backend_servers;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
}

2. 启动 Nginx Docker 容器

使用 Docker 启动 Nginx 容器,运行以下命令:

docker run -d --name my-nginx \-p 80:80 \-v /home/middleware/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \-v /home/middleware/nginx/html:/usr/share/nginx/html \-v /home/middleware/nginx/logs:/var/log/nginx \nginx

在这个命令中,-v /home/middleware/nginx/logs:/var/log/nginx 表示将宿主机上的 /home/middleware/nginx/logs 目录映射到容器内的 /var/log/nginx 目录,这样 Nginx 的日志文件就会保存在宿主机上。


二、配置多个后端 API 轮询(负载均衡)

1. 配置后端 API 服务器

我们使用 Nginx 的 upstream 模块来配置多个后端 API 服务器,进行 轮询负载均衡。在上述的 nginx.conf 文件中,我们已经通过以下部分配置了两个后端 API 服务器:

# 后端 API 配置(轮询负载均衡)
upstream backend_servers {server 192.168.1.1:8080;server 192.168.1.2:8080;
}

这样,所有请求到 /api/ 路径的请求将通过 Nginx 反向代理,轮询转发到两个后端 API 服务器(192.168.1.1:8080192.168.1.2:8080)。

2. 负载均衡策略

Nginx 提供了多种负载均衡策略:

  • 轮询(默认):Nginx 默认按照请求顺序轮流将流量转发到 upstream 配置的后端服务器。
  • IP 哈希:如果你希望基于客户端 IP 地址来分配请求,可以使用 ip_hash,如下所示:
upstream backend_servers {ip_hash;server 192.168.1.1:8080;server 192.168.1.2:8080;
}

这样,来自同一 IP 的请求将始终路由到同一个后端服务器。


三、为多个前端应用配置子域名

1. 配置多个子域名

假设你有多个前端应用,并希望通过不同的 子域名 来访问它们。比如,两个前端应用分别希望通过 frontend1.example.comfrontend2.example.com 来访问。

首先,假设你的前端应用已经打包,并且存放在以下目录:

  • /home/middleware/nginx/html/frontend1:第一个前端应用的构建文件
  • /home/middleware/nginx/html/frontend2:第二个前端应用的构建文件

然后,修改 Nginx 配置文件,配置两个 server 块来分别处理这两个子域名:

# 第一个前端应用(frontend1)
server {listen 80;server_name frontend1.example.com;location / {root /usr/share/nginx/html/frontend1;index index.html;try_files $uri /index.html;}# 反向代理后端 APIlocation /api/ {proxy_pass http://backend_servers;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}# 第二个前端应用(frontend2)
server {listen 80;server_name frontend2.example.com;location / {root /usr/share/nginx/html/frontend2;index index.html;try_files $uri /index.html;}# 反向代理后端 APIlocation /api/ {proxy_pass http://backend_servers;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

2. 配置不同的根目录和反向代理

  • server_name frontend1.example.com;:第一个子域名配置,访问 frontend1.example.com 会访问 /usr/share/nginx/html/frontend1 目录下的文件。
  • server_name frontend2.example.com;:第二个子域名配置,访问 frontend2.example.com 会访问 /usr/share/nginx/html/frontend2 目录下的文件。

如果前端应用需要与后端 API 通信,你可以通过 反向代理 将 API 请求转发到后端服务器。这里,/api/ 路径的请求会转发到之前配置的 负载均衡后端服务器

3. 将前端应用文件复制到 Nginx 根目录

将打包后的前端文件复制到相应的目录中:

cp -r frontend1_dist/* /home/middleware/nginx/html/frontend1/
cp -r frontend2_dist/* /home/middleware/nginx/html/frontend2/

四、使用 Docker Compose 部署 Nginx

如果你希望使用 Docker Compose 来管理 Nginx 容器,下面是如何使用 docker-compose.yml 文件来配置和启动 Nginx。

1. 创建 docker-compose.yml 文件

/home/middleware/nginx 目录下创建一个 docker-compose.yml 文件,内容如下:

version: '3'services:nginx:image: nginxcontainer_name: my-nginxports:- "80:80"volumes:- /home/middleware/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro- /home/middleware/nginx/html:/usr/share/nginx/html- /home/middleware/nginx/logs:/var/log/nginxnetworks:- nginx_networkrestart: alwaysnetworks:nginx_network:driver: bridge

2. 启动 Nginx 服务

docker-compose.yml 文件所在的目录下运行以下命令来启动 Nginx 容器:

docker-compose up -d

3. 停止 Nginx 服务

如果你需要停止服务,可以使用以下命令:

docker-compose down

五、映射 Nginx 日志文件

为了持久化存储 Nginx 的日志文件,我们需要将 Nginx 容器中的日志目录映射到宿主机。通过以下配置,我们可以确保日志文件不会丢失,并方便后续查看和分析。

1. 映射日志文件

在启动 Nginx 容器时,确保将 /var/log/nginx 目录映射到宿主机上的某个目录。例如:

docker run -d --name my-nginx \-p 80:80 \-v /home/middleware/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \-v /home/middleware/nginx/html:/usr/share/nginx/html \-v /home/middleware/nginx/logs:/var/log/nginx \nginx

在这个命令中,-v /home/middleware/nginx/logs:/var/log/nginx 表示将宿主机上的 /home/middleware/nginx/logs 目录映射到容器内的 /var/log/nginx 目录。

2. 确保日志目录权限

确保宿主机上的日志目录具有适当的权限,以便 Nginx 能够在该目录中写入日志文件:

mkdir -p /home/middleware/nginx/logs
chmod 777 /home/middleware/nginx/logs
http://www.dtcms.com/wzjs/338231.html

相关文章:

  • WordPress社群seo咨询师
  • 企业门户网站设计方案会员制营销
  • 教育行业网站建设郑州免费做网站
  • 长春最新通告今天泉州seo
  • 网站开发 .net今日新闻最新10条
  • 重庆网站搜索推广推广员网站
  • 做机械设备销售的那个网站好网络公司排行榜
  • ps做网站登陆界面seo优化几个关键词
  • 网站开发业务怎么做百度云盘资源搜索
  • bootstrap怎么做网站今日新闻播报
  • 1做网站的公司友链交易
  • 最便宜做公司网站适合seo的网站
  • 济南移动网站制作搜索引擎推广有哪些
  • 上海展台搭建企业网站seo推广方案
  • 杨凌做网站的时事新闻
  • css网站布局教程成都排名推广
  • 万能视频解析接口网站怎么做seo是什么职务
  • 网站写作赚钱本周新闻热点10条
  • 如何建导航网站数据分析师报考条件
  • 怎么上传做 好的网站吗怎么快速刷排名
  • 瓯海建设网站天津百度推广排名优化
  • 泉州商城网站开发设计网站推广和优化系统
  • 怎么做代购彩票网站吗企业类网站有哪些例子
  • 长沙城市建筑工程有限公司seo产品优化推广
  • 自己做图片的网站链接网络推广外包注意哪些
  • wordpress安装后查看站点失败百度seo优化排名
  • 漳州网站建设公司首选搜索引擎推广文案
  • 河南专业网站建设哪家好怎样优化标题关键词
  • 日本做的中国音乐网站免费建站哪个比较好
  • 做一个网站需要多久网络推广招聘