码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Linux】Linux+Nginx部署项目(负载均衡&动静分离)


    🥳🥳Welcome Huihui's Code World ! !🥳🥳

    接下来看看由辉辉所写的关于Linux的相关操作吧 

    目录

    🥳🥳Welcome Huihui's Code World ! !🥳🥳

    一.Nginx负载均衡

    1.什么是负载均衡

    2.实现负载均衡的步骤

    ①Nginx安装

    一键安装4个依赖

    解压安装包

    进入安装包目录

    ②启动 nginx 服务

    进入到指定目录

    启动

    检测是否成功启动

    ③开放防火墙的80端口

    开放端口

    查看防火墙列表

    在地址栏输入你的ip

    ④准备2个tomcat

    进入到tomcat所在的目录

    启动tomcat

    ⑤配置Nginx

    进入指定目录

    修改nginx.conf

    重启nginx

    ⑥部署项目

    将项目上传到服务器

    导入数据脚本

    重启两个服务器

    在浏览器访问

    二.动静分离【部署项目前端】

    1.什么是动静分离

    2.实现动静分离的步骤

    ①进入到指定目录

    ②上传文件

    ③解压项目压缩包

    下载插件

    解压

    ④Nginx配置

    ⑤浏览器访问

    ⑥添加映射关系

    ⑦在浏览器再次访问


    一.Nginx负载均衡

    1.什么是负载均衡

            负载均衡是一种分布式计算技术,用于在计算机网络或服务器集群中分配工作负载,以实现资源的优化利用和提高系统性能。当一个系统面临大量的请求时,负载均衡可以将这些请求平均地分配给多个服务器或计算节点,确保每个服务器都能够承担适当的负载。

            负载均衡的主要目标是避免某些服务器负载过重,而其他服务器处于空闲状态的情况,从而提高整个系统的吞吐量、响应速度和可靠性。通过合理地分发请求,负载均衡可以确保每个服务器都能够充分利用其计算和存储资源,并且在某个服务器出现故障时,其他服务器可以接管其工作,保证系统的连续性和可用性。

    2.实现负载均衡的步骤

    ①Nginx安装

    一键安装4个依赖
    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

    解压安装包

    【我已经上传了安装包,可以自行到网上下载安装包,不会上传的可以看上篇博文】

    1. 下载安装包
    2. wget http://nginx.org/download/nginx-1.13.7.tar.gz
    1. 解压安装包
    2. tar -xvf nginx-1.13.7.tar.gz

    进入安装包目录
    cd nginx-1.13.7

    编译,执行配置

    考虑到后续安装ssl证书 添加两个模块

    ./configure --with-http_stub_status_module --with-http_ssl_module

    安装

    make && make install

    ②启动 nginx 服务

    进入到指定目录
    cd /usr/local/nginx/sbin

    启动
    ./nginx
    检测是否成功启动
    1. #下载插件
    2. yum install lsof

    1. #查看Nignx是否启动
    2. lsof -i:80

    出现下图中的命令行说明以及成功启动啦

    ③开放防火墙的80端口

    开放端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent

    查看防火墙列表
    firewall-cmd --reload && firewall-cmd --list-port

    在地址栏输入你的ip

    ④准备2个tomcat

    进入到tomcat所在的目录

    复制tomcat

    修改端口号

    1. #第2个修改的配置如下
    2. 1. HTTP端口,默认8080,如下改为8081
    3. 2.远程停服务端口,默认8005,如下改为8006
    4. 3.AJP端口,默认8009,如下改,8010

    启动tomcat

    如果在浏览器能够出现下图效果,便说明已经成功啦

    ⑤配置Nginx

    进入指定目录
    cd /usr/local/nginx/conf

    修改nginx.conf
    1. #服务器的集群
    2. upstream tomcat_list { #服务器集群名字
    3. server 127.0.0.1:8080 weight=1; #服务器1 weight是权重的意思,权重越大,分配的概率越大。
    4. server 127.0.0.1:8081 weight=2; #服务器2 weight是权重的意思,权重越大,分配的概率越大
    5. }

    重启nginx

    需要进入到/usr/local/nginx/sbin目录下操作

    cd /usr/local/nginx/sbin
    
    ./nginx -s reload

    这样在浏览器直接输入ip就可以进入啦

    ⑥部署项目

    将项目上传到服务器

    两个服务器都需要进行这个操作

    导入数据脚本

    重启两个服务器
    在浏览器访问

    二.动静分离【部署项目前端】

    1.什么是动静分离

            动静分离(Dynamic-Static Separation)是一种将动态内容和静态内容分开处理的技术。在网络应用中,动态内容通常是指根据用户请求生成的、实时变化的数据,而静态内容则是指不变的、相对固定的文件,如HTML、CSS、JavaScript、图片等。

            动静分离的目的是优化网站或应用程序的性能和可扩展性。通过将静态内容与动态内容分别存储和处理,可以提高系统的响应速度、减轻服务器负载,并降低带宽消耗。

            动静分离可以提升性能,静态资源可以被缓存,减少了服务器生成内容的压力,加快了网页加载速度。减轻服务器负载,静态资源可以由CDN等专门的服务器提供,减轻了应用服务器的负载。节省带宽成本,通过CDN分发静态内容,可以减少对服务器带宽的需求,降低带宽成本

    2.实现动静分离的步骤

    ①进入到指定目录

    在此目录下创建一个mypro文件夹用来存放项目

    ②上传文件

    ③解压项目压缩包

    下载插件
    1. yum install -y unzip

    解压

    需要进入到压缩包所在的目录下进行解压

    unzip blog.zip

    ④Nginx配置

    这个配置与负载均衡中的nginx配置一致,在这里就不做过多赘述

    1. location ^~/api/ {
    2. #^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除api
    3. proxy_pass http://tomcat_list/;
    4. }

    最后重启nginx即可

    ⑤浏览器访问

    ⑥添加映射关系

    进入到电脑指定目录

    C:\Windows\System32\drivers\etc\hosts

    打开文件进行编辑

    ⑦在浏览器再次访问

    好啦,今天的分享就到这了,希望能够帮到你呢!😊😊 

  • 相关阅读:
    Tuna: Instruction Tuning using Feedback from Large Language Models
    盘点那些开发中经常用到的git命令
    从零玩转系列之微信支付实战PC端项目构建+页面基础搭建 | 技术创作特训营第一期
    vite vue3配置axios
    [C/C++]数据结构 深入挖掘环形链表问题
    PyTorch的自动求导
    php如何设置随机数
    Oracle-通过(RESTORE/RECOVER FROM SERVICE)方式搭建DataGuard
    快速搭建React TypeScript项目
    26岁开始学iT晚吗?
  • 原文地址:https://blog.csdn.net/m0_74315688/article/details/134169815
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号