ITPub博客

首页 > 数据库 > 数据库开发技术 > Nginx负载均衡与Web服务器环境部署脚本( Web+LB)

Nginx负载均衡与Web服务器环境部署脚本( Web+LB)

原创 数据库开发技术 作者:运维book思议 时间:2023-05-12 12:08:00 0 删除 编辑

先放个链接,万一有人关注呢

优质文章推荐

↓ ↓ ↓ ↓ ↓

Linux系统初始化脚本

能够监控100台服务器的磁盘利用率的脚本——16行代码实现

Linux系统初始化脚本之二

Linux系统巡检脚本——快速获取当前系统信息

Linux远程执行脚本——Python运维脚本

哪个Linux发行版会成为CentOS的平替?

应用介绍

Nginx是一款高性能的Web服务器和反向代理服务器,最初由俄罗斯的程序设计师Igor Sysoev开发。Nginx使用事件驱动的异步非阻塞处理方式,可以处理大量的并发连接,具有较高的性能表现。

Nginx可以应用于多种场景,下面是一些常见的应用场景:
1、Web服务器 Nginx作为Web服务器可以提供静态资源的服务,例如图片、CSS、JavaScript等文件。此外,Nginx还可以与后端的应用服务器协同工作,处理动态请求。相比传统的Web服务器,Nginx使用较少的系统资源,可以更好地应对高并发访问的场景。
2、反向代理服务器 Nginx作为反向代理服务器可以将请求转发给后端的应用服务器,例如Tomcat、Node.js、PHP等。在多应用服务器的情况下,Nginx可以实现负载均衡,将请求分发到不同的服务器上,提高系统的可用性和性能。
3、缓存服务器 Nginx可以作为缓存服务器,缓存静态资源和动态页面,减少对后端服务器的请求次数,提高系统性能和响应速度。在高并发访问的场景下,Nginx的缓存功能可以大幅度降低后端服务器的负载,提高系统的稳定性。
4、安全代理 Nginx可以作为安全代理,保护Web应用程序免受各种攻击,例如DDoS攻击、SQL注入、跨站脚本攻击等。Nginx可以通过限制连接速率、封禁IP地址、过滤请求内容等方式来保护Web应用程序的安全。
5、流媒体服务器 Nginx可以作为流媒体服务器,提供音视频等流媒体资源的服务。在高并发的场景下,Nginx可以提供流畅的音视频播放体验,保证用户的观看效果。

环境部署示例

这里写一个部署脚本,用于部署NginxWeb与Nginx负载均衡

#!/bin/bash
# 生成SSH密钥ssh-keygen -t rsa
# 将公钥拷贝到web服务器ssh-copy-id <web_server1_ip>ssh-copy-id <web_server2_ip>
# 安装和配置Nginx负载均衡器yum install -y nginxsystemctl enable nginxcp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bakcat << EOF > /etc/nginx/nginx.confuser nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;events { worker_connections 1024;}http { upstream myapp1 { server <web_server1_ip>:80; server <web_server2_ip>:80; } server { listen 80; server_name <load_balancer_ip>; location / { proxy_pass http://myapp1; } }}systemctl start nginx
# 安装和配置Nginx web服务器ssh <web_server1_ip> "yum install -y nginx"ssh <web_server1_ip> "systemctl enable nginx"ssh <web_server1_ip> "cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak"ssh <web_server1_ip> "cat << EOF > /etc/nginx/nginx.confuser nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;events { worker_connections 1024;}http { server { listen 80; server_name <web_server1_ip>; root /var/www/html; index index.html; }}EOF"ssh <web_server1_ip> "systemctl start nginx"
ssh <web_server2_ip> "yum install -y nginx"ssh <web_server2_ip> "systemctl enable nginx"ssh <web_server2_ip> "cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak"ssh <web_server2_ip> "cat << EOF > /etc/nginx/nginx.confuser nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;events { worker_connections 1024;}http { server { listen 80; server_name <web_server2_ip>; root /var/www/html; index index.html; }}EOF"ssh <web_server2_ip> "systemctl start nginx"

结束!如有不足之处,欢迎指正!

我们的组织在这里:

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。


原文作者:运维book思议;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-09-24

  • 博文量
    333
  • 访问量
    215239