精华内容
下载资源
问答
  • 2020-04-14 17:33:38

    云端部署流程

    1、购买阿里云ecs服务器
    2、云端部署java环境

    1. 下载部署java运行环境,从oracle官网下载jdk1.8 rpm安装包并上传到服务器上
    2. 使用rpm –ivh ***.rpm 安装jdk

    3、云端部署mysql数据库环境

    1. 使用yum install mysql* yum install mariadb-server安装mysql
    2. 使用systemctl start mariadb.service启动mysql
    3. 使用mysqladmin –u root password root修改root用户密码为root
    4. 使用mysql –uroot –proot命令连接mysql
    5. 将本地的数据库备出来用于在云端环境部署mysqldump –uroot –proot –databases testsystem>
      testsystem.sql备份数据库
    6. 上传数据文件到服务器上
    7. mysql –uroot –proot < testsystem.sql恢复数据库文件

    4、云端部署应用服务研发环境

    1. 本地在项目根目录下使用mvn clean package打包生成testsystem.jar文件

    2. 将jar包服务上传到服务端上并编写额外的application.properties配置文件

    3. 编写deploy.sh文件启动对应的项目

      nohup java -Xms2048m -Xmx2048m  -XX:NewSize=1024m -XX:MaxNewSize=1024m -jar testsystem.jar
       --spring.config.addition-location=/var/www/testsystem/application.properties
      
    4. 使用deploy.sh &启动应用程序

    5. 打开阿里云的网络安全组配置,将80端口开放给外网可访问

    参数说明

    • nohup:以非停止方式运行程序,这样即便控制台退出了程序也不会停止
    • java:java命令启动,设置jvm初始和最大内存为2048m,2个g大小,设置jvm中初始新生代和最大新生代大小为1024m,是为了减少扩展jvm内存池过程中向操作系统索要内存分配的消耗,
    • –spring.config.addtion-location=指定额外的配置文件地址

    数据库远程用户授权

    use mysql; 
    select host,user,password from user; grant all privileges on *.* to root@'%' identified by "password"; 
    flush privileges;
    select host,user,password from user;
    
    更多相关内容
  • 但是传统应用要充分发挥云的优势,并不是简单地将应用部署到云上就万事大吉,而是需要根据云的特点围绕可扩展性重新进行架构设计,近日AppDynamics的开发布道者Dustin.Whittle撰文阐述了适合云端部署的应用架构,对...
  • 第二章 云端部署

    千次阅读 2022-04-24 13:12:35
    第二章 云端部署 数据库部署 启动服务器的数据库服务 systemctl start mariadb.service 将 miaosha 数据库表备份 /usr/local/mysql/bin/mysqldump -uroot -p283619 --databases miaosha > ~/Downloads/...

    第二章 云端部署

    数据库部署

    • 启动服务器的数据库服务
    systemctl start mariadb.service
    

    Untitled

    • miaosha 数据库表备份
    /usr/local/mysql/bin/mysqldump -uroot -p283619 --databases miaosha > ~/Downloads/miaosha.sql
    

    Untitled

    • 然后将备份文件,上传到服务器中
    • 将文件在服务器中执行一遍,相当于导入表结构和表数据到服务器的数据库
    mysql -uroot -p283619 < //tmp/miaosha.sql
    

    Untitled

    打包上传

    • 使用 IDEA 自带的 maven 进行打包,生成 miaosha-1.0-SNAPSHOT.jar 文件

    Untitled

    • 注意要记得添加 Spring Boot maven 打包的 plugin,不然打包后运行失败

    Untitled

    • 上传 miaosha-1.0-SNAPSHOT.jar 文件到服务器中

    Untitled

    • 移动 miaosha-1.0-SNAPSHOT.jar 文件到我们自己新建的目录下,重命名为:miaosha.jar ,然后给当前目录授予读写和可执行权限

    Untitled

    mkdir www // 新建一个www目录
    pwd www // 查询当前目录,/var/www
    mv /目录1 /目录2 // 移动目录1的文件到目录2下
    chmod -R 777 * // 给当前目录授予读写和可执行权限
    tail -f nohup.out // 查看运行日志
    ps -ef | grep java // 查看当前运行的java进程(包含进程号)
    netstat -anp | grep 1302 // 查看进程号为1302的端口号
    netstat -lntp // 查看开放端口号
    

    编写 deploy 脚本

    编写deploy脚本,实现自动打包上传并java执行的操作。

    服务端 SpringBoot 配置文件 application.properties 里面的配置可能随着设备环境的不同而发生变化,每次直接修改源码又很复杂,可以采用外挂配置文件的方式。

    • 在项目目录下新建 vim application.properties 外挂配置文件,修改文件,指定服务器端口server.port=80
    • 执行 java -jar miaosha.jar --spring.config.addition-location=/var/www/miaosha/application.properties

    Untitled

    • 新建 deploy.sh 文件,编辑 nohup 指令,设置最大/最小堆栈为 400m,JVM新生代 200m,最大新生代 200m,指定额外配置文件
    nohup java -Xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar miaosha.jar
    --spring.config.addition-location=/var/www/miaosha/application.properties
    
    • 重新给当前目录授予读写和可执行权限
    chmod -R 777 *
    
    • 后台方式启动应用程序 ./deploy.sh & 避免关闭控制台,应用程序关闭的风险。输出 nohup.out 文件

    Untitled

    • 前台实时查看 nohub.out 文件内容:
    tail -f nohup.out
    

    Jmeter 性能压测

    • 线程组
    • Http请求
    • 查看结果树
    • 聚合报告

    具体步骤

    • 添加线程组

    Untitled

    Untitled

    • 创建HTTP请求

    Untitled

    • 添加对应的结果树

    Untitled

    • 添加聚合报告

    Untitled

    组装 Http 请求,模拟压测

    Untitled

    sudo vim //etc/hosts //本机电脑添加一个映射到服务器ip地址的域名
    43.138.131.175 miaoshaserver //当客户端访问miaoshaserver,会自动在host文件里面查找到对应的ip地址
    

    Untitled

    Untitled

    Untitled

    • 压测1000个线程启动时间为10s 运行10次

    Untitled

    优化系统

    设置 tomcat 参数

    线程数

    首先打开 SpringBoot 内置的 tomcat 配置,在 spring-configuration-metadata.json 里面,有几个参数特别重要:

    • server.tomcat.accept-count :等待队列长度:默认是100
    • server.tomcat.max-connections:最大可被连接数,默认10000
    • server.tomcat.max-threads:最大工作线程数,默认200
    • server.tomcat.min-spare-threads:最小工作线程数,默认10
    • 默认配置下,连接超过10000后出现拒绝连接
    • 默认配置下,触发的请求线程超过200 + 100后拒绝处理
    server.port=80
    server.tomcat.accept-count=1000
    server.tomcat.max-threads=800
    server.tomcat.min-spare-threads=100
    
    • 设置以上参数后,我们的操作系统可以有充足的时间进行反应,把这100个线程先用着,然后再慢慢开到800个线程,满了再丢到1000个等待队列里面,超过1800个线程后就拒绝处理,连接超过10000后就拒绝连接。
    • 结果展示:可以提高到 118 个线程数量了

    Untitled

    • 400 个并发情况下的压测

    Untitled

    KeepAlive

    • KeepAliveTimeOut : 多少毫秒后若客户端不响应则断开对应的连接
    • MaxKeepAliveRequests : 多少次请求后连接失效
    • 使用 WebServerFactoryCustomizer<ConfigurableWebServerFactory> 定制化内置 tomcat配置
    //当Spring容器内没有TomcatEmbeddedServletContainerFactory这个bean时,
    // 会把此bean加载到Spring中
    @Component
    public class WebServerConfiguration implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
        @Override
        public void customize(ConfigurableWebServerFactory factory) {
            // 使用对应工厂类提供给我们的接口定制化我们的tomcat connector
            ((TomcatServletWebServerFactory) factory).addConnectorCustomizers(new TomcatConnectorCustomizer() {
                @Override
                public void customize(Connector connector) {
                    Http11NioProtocol protocolo = (Http11NioProtocol) connector.getProtocolHandler();
                    // 设置 keepalivetimeout 超过30秒没有请求则服务端自动断开keepalive连接
                    protocolo.setSelectorTimeout(30000);
                    // 当客户端发送超过10000个请求则自动断开keepalive连接
                    protocolo.setMaxKeepAliveRequests(10000);
                }
            });
        }
    }
    

    单Web容量上限

    • 线程数量:对于4核CPU 8G内存的服务器来说,配置800~1000个线程是最好的,再多的话就会消耗在cpu调度上
    • 等待队列长度:一般为1000~2000,队列做缓冲池用,但也不能无限长,队列太长还消耗内存,而且出队入队也消耗cpu

    MySQL 数据库QPS容量问题

    • 主键查询:千万级别数据 = 1-10毫秒
    • 唯一索引查询:千万级别数据 = 10-100毫秒
    • 非唯一索引查询:千万级别数据 = 100-1000毫秒
    • 无索引:百万条数据 = 1000毫秒 +

    MySQL 数据库TPS容量问题

    • 非插入更新删除操作:同查询
    • 插入操作:1w~10w tps (依赖配置优化,后续)
    展开全文
  • 云端部署 vs 本地化部署

    千次阅读 2021-12-04 17:57:29
    到底把应用部署在本地还是部署在公有云上?应用部署在本地还是部署在公有云上,到底有什么区别?

    CIO在帮所在组织(甲方)从软件服务商(乙方)购买业务所需的应用程序时,会面临一个问题,到底把应用部署在本地还是部署在公有云上?本文结合作者自身经验,就这个问题有几点看法,给各位一个参考。

    首先,我们来看看应用部署在本地还是部署在公有云上,到底有什么区别?

    应用配置

    软件服务商配合甲方进行管理

    应用配置

    甲方负责管理

    应用程序

    应用程序

    软件服务商负责管理

    中间件

    中间件

    操作系统

    甲方负责管理

    操作系统

    虚拟化

    虚拟化

    服务器

    服务器

    存储

    存储

    防火墙

    防火墙

    网络

    网络

    简单来说,本地部署这个方案,需要应用程序的使用方(甲方)准备好该应用程序的运行环境基础设施:包括足够的网络带宽和稳定的网络环境、包括保护网络安全的防火墙以及防勒索病毒的技术、包括购买或配备足够的存储和服务器、包括为了达到高可用性而搭建的虚拟化平台、包括操作系统和数据库的正确版本和配置。除此之外,在应用程序部署之后,由于东西在自己手上,甲方还需要对应用程序依赖的中间件、应用程序本身及其应用配置数据进行维护。虽然通常情况下这部分都会找供应商来支持,但常会发现很多时候遇到的问题其实不是应用程序的问题,而是基础设施的问题,还是需要甲方自己动手。

    部署在公有云的方案,应用程序使用方(甲方)仅需要维护应用程序的配置数据即可,除此之外其它所有基础设施都在云端,甲方只需要提供外网访问,不会有大量的基础设施问题困扰。其实这种方案,是让专业的人做专业的事情,把基础设施运维工作交给了专业的公有云提供商和软件服务商,只要甲方能够正常访问互联网,就可以确保应用的安全性、高可用性、易拓展性,而根本不需要自己购买和维护环境。

    所以说,这两种方案的一个直观对比结果是,本地化部署需要去购买很多基础设施并且配备基础设施的运维人员,持续拥有成本高而云端部署的基础设施按需租用,同时把基础设施的运维工作以较低的价格交给了云厂商和软件供应商,持续拥有成本低。

    其次,我们来看看运维效果,这方面云端也有明显优势。由于本地化部署的运维主要依赖本地的基础设施资源(如网络带宽、服务器空间等),以及本公司的运维人员,通常会有资源短缺如空间不足导致的问题,也有人员相关如离职或操作不当导致的问题,且诸如此类事件难以杜绝。而云端运维由于利用的是公有云厂商如阿里云的强大的IAAS能力,环境的可靠性大大增加,运维工作很多都自动化了由机器来处理,比依靠人员手工操作要靠谱和高效得多。譬如云端的备份和灾难恢复,都可以利用自动化工具来实现,比靠人来管更安全和可靠。云端运维还可以利用公有云厂商的专业服务能力,譬如公有云具备全网最高级别的安全防护,它背后安全团队能力是绝大多数甲方企业的安全团队无法企及的。

    与此同时,云部署也具有本地化部署无可比拟的灵活性优势。譬如可以灵活扩容和收缩,而本地化部署你要么提前购买了资源造成浪费,要么临时申请采购来不及应对,同时还会面临按照峰值所需采购之后,资源不可收缩,不可逆的决定。而且,云端应用由于其开放性,可以方便快速与其它应用进行集成;而本地化部署,往往需要为应用集成进行额外的开发,慢且贵。从访问的灵活性来看,本地化部署很多时候限制成员只能通过特定网络访问,而云端部署可以随时随地访问。诸如此类,不一一细数。

    还有一个要素是系统的升级,本地化部署的系统升级过程相对定制化,可能需要供应商到现场调试,或者处理一些本地独特的环境问题,要做单独的风险评估和验证,往往成本较高,后面大概率变成一个要单独维护的长版本分支。而云端的系统升级可以统一处理,无需针对某个环境拿出来单独考虑,方便快捷。说到快,除了升级过程云端更快,初次实施部署云端也更快。因为省去了配备或调整基础设施环境的过程,可以在更短的时间周期内让用户更早地用上系统,以此更早带来价值。

    个人的一些经验,希望能够有所帮助。欢迎各位朋友补充指正~

    展开全文
  • 构建可扩展的大数据架构。所选云服务必须无法在数千个图像上运行计算机视觉模型。 该计划应正确分类水果/蔬菜图像(多级监督分类)。 本笔记本提供了一个短的加载/预处理图像。 然后从预训练的ResNet50模型中提取...
  • java项目云端部署

    2021-12-26 16:46:38
    云端部署java项目 一、maven打包 作用:将java项目打成jar(war)包 1.1、IDEA集成maven打包方式 1.1.1、pom文件添加插件设置 <!-- 用于打包 --> <!-- 指定编译版本 --> <plugin> <groupId>...

    云端部署java项目

    一、maven打包

    作用:将java项目打成jar(war)包

    1.1、IDEA集成maven打包方式

    1.1.1、pom文件添加插件设置

    <!-- 用于打包 -->
    <!-- 指定编译版本 -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
    <!-- 将项目使用到的相关依赖一并打包 -->
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <!-- 用于打包 -->
    
    
    
    <!--添加配置跳过测试-->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.1</version>
        <configuration>
            <skipTests>true</skipTests>
        </configuration>
    </plugin>
    <!--添加配置跳过测试-->
    

    1.1.2、IDEA进行打包

    步骤:

    img

    运行成功显示:

    img

    生成相关文件:

    img

    1.1.3、运行jar(war)包

    打开对应target文件,输入cmd

    img

    输入:java -jar jar(war)包名

    img

    二、云端部署

    2.1、jar(war)包上传云端

    将项目上传云端,并将jar包权限该为可运行

    #创建一个存放jar包的文件夹
    [root@iZuf68hx5ixwnbajcw5e14Z myproject]# mkdir ydbs
    [root@iZuf68hx5ixwnbajcw5e14Z myproject]# ls
    miaosha  ydbs
    [root@iZuf68hx5ixwnbajcw5e14Z myproject]# cd ydbs
    
    #此时jar包为红色
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# ls
    miaosha-0.0.1-SNAPSHOT.war
    
    #修改权限后变为绿色,此时可运行jar包
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# chmod -R 777 *
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# ls
    

    2.2、运行jar包

    输入:java -jar miaosha-0.0.1-SNAPSHOT.war

    img

    2.3、指定外挂配置文件

    **问题:**在云端部署好了的项目,若要修改项目配置怎么办?

    • 修改好配置后,重新上传部署;毫无疑问,这样会非常麻烦
    • 使用外挂配置文件,项目使用的配置会是外挂的配置文件

    2.3.1、创建配置文件

    1)创建一个配置文件

    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# vim application.yaml
    

    2)在application.yaml文件中,修改端口号(上图可以看见端口号为:8090):

    server:
      port: 88
    

    3)文件创建成功

    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# vim application.yaml
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# ls
    application.yaml  miaosha-0.0.1-SNAPSHOT.war
    

    2.3.2、外挂配置文件运行jar包

    输入:java -jar miaosha-0.0.1-SNAPSHOT.war --spring.config.addition-location=/opt/myproject/miaosha/application.yaml

    • –spring.config.addition-location=/opt/myproject/miaosha/application.yaml 用来指定配置文件

    img

    2.4、编写deploy脚本文件启动

    1)创建一个 deploy.sh 文件

    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# vim deploy.sh
    

    2)编写deploy文件

    #nohup: 用途:不挂断地运行命令。
    #-Xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m:分配内存空间
    #-jar miaosha-0.0.1-SNAPSHOT.war:指定运行文件
    #--spring.config.addition-location=/opt/myproject/ydbs/application.yaml:指定外挂配置
    nohup java -Xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar miaosha-0.0.1-SNAPSHOT.war --spring.config.addition-location=/opt/myproject/ydbs/application.yaml
    

    3)通过脚本文件启动项目

    #将文件夹内所有的文件设置为可运行
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# chmod -R 777 *
    #运行脚本
    #&:在后台运行
    #nohup和&一般两个一起用:nohup command &
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# ./deploy.sh &
    

    img

    4)启动后会生成对应的日志文件nohup.out

    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# ./deploy.sh &
    [1] 14367
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# nohup: ignoring input and appending output to ‘nohup.out’
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# ls
    application.yaml  deploy.sh  miaosha-0.0.1-SNAPSHOT.war  nohup.out
    

    nohup: ignoring input and appending output to ‘nohup.out’
    [root@iZuf68hx5ixwnbajcw5e14Z ydbs]# ls
    application.yaml deploy.sh miaosha-0.0.1-SNAPSHOT.war nohup.out

    
    
    展开全文
  • 深度学习模型云端部署源码编译环境搭建方法
  • 微软CRM云端部署方案-V1.3.pdf
  • 这节谈谈如何把之前写的代码部署到云服务上。先简单介绍一下云计算:云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的...
  • 云端部署Kubernetes与容器集群方案.pptx
  • 金蝶K3 Cloud 云端部署

    2018-01-17 11:31:44
    金蝶K3 Cloud 云端部署,安装帮助文档 ,发版说明,安装指南 金蝶K/3 Cloud 部署推荐配置。仅供参考,欢迎爱好者下载
  • 内部部署 VS 云端部署

    千次阅读 2018-08-30 13:49:14
    互联信息时代已经到来,网络安全问题层出不穷,黑客技术的“与时俱进”更是令人生畏。在黑客领域,无人不晓的全球最牛的黑客专家巴纳拜·杰克。...哪怕面对黑客突袭,云端部署解决方案总能将安全风险降到最低!  
  • 云端部署项目

    千次阅读 2019-03-06 14:01:51
    自从买了云服务器我就开始在部署项目,部署的是springboot,花了快2天才部署好,哎,顿时感觉不用框架直接原生的多好,直接对tomcat,就不用踩那么多坑了,哈哈,开玩笑的。现在我就将部署的方法写在这里让大家少踩...
  • 北京技术峰会,如何在 AWS 云端部署 Kubernetes 及 小米生态云的容器集群实。
  • 微软云端部署策略

    2014-09-19 17:22:08
    云端部署,云端是一个大平台。安装云端之后,再使用其他软件不再需要安装——一点、下载、直接使用;并且,通过虚拟化的运行环境,能够保持系统长久的干净、绿色
  • SpringBoot项目云端部署

    千次阅读 2019-06-04 02:42:46
    如果部署不同平台配置文件中属性不同,如连接数据库不一致,访问端口不一致等。可以通过外挂配置文件的方式解决,避免在每次打包前修改配置文件。如果通过命令行启动程序,退出远程控制台,程序也会关闭。更好的方案...
  • 1、华为云端部署 2、华为云端Web开发 物联网平台包括数据管理、设备管理和运营管理等能力,可以实现统一安全的网络接入、各种终端的灵活适配、海量数据的采集分析,从而实现新价值的创造。物联网平台向各行业提供...
  • 云端部署,性能压测云端部署流程1、 云端部署硬件功能2、云端部署java环境3、云端部署MySQL数据库环境4、云端部署应用服务研发环境性能压测,发现并发容量问题jmeter性能压测发现容量问题Tomcat性能优化Tomcat的作用...
  • 这是一个YOLOv5的云端部署代码,其存在的主要目的是为了解决将YOLOv5训练出来的权重或者官方权重简单快速的部署上云服务或者Docker中,并且可以通过POST请求在任意代码中调用(如Java、Python、Android...)。
  • Springboot项目云端部署

    2019-07-09 20:10:58
    云端部署 操作系统及运行环境:阿里云centOS虚拟机 1. 数据库 1.1 安装 yum install mysql yum install mariadb-server systemctl start mariadb.service ps -ef | grep mysql #查看mysql服务 netstat -anp | ...
  • CRM系统的部署方式通常有三种模式,分别是:本地部署、云端部署、公有云部署等三种模式。通常企业在选择的部署方式是本地部署与云端部署。那么他们部署方式得区别是什么?本地部署CRM系统本地部署的CRM软件:是意味着...
  • 本文介绍适用于普通WEB云端部署,非GPU云 按照循序渐进方式,分为五个部分 局域网单实例 局域网多实例 广域网部署 WEB云部署 后续 1、局域网单实例 局域网单实例构架图 信令服务器帮助用户浏览器与UE4 Pixel ...
  • nodejs项目云端部署初试

    千次阅读 2018-08-22 22:21:09
    但是自己看总不行吧,最后还是需要部署云端,万事俱备只欠东风了。 要求 第一次在服务端部署项目,不管部署正确与否,重点是要在外网的客户端能够访问到项目 首先是按照本地测试和搭建Nodejs的环境以同样的...
  • 若依RuoYi框架浅析 部署篇⑤——前端本地调试与云端部署。Visual Studio Code本地调试与CentOS云端部署
  • GIS数据云端部署,你只需要这个!

    千次阅读 热门讨论 2019-01-07 09:41:15
    功能、性能以及源代码上均自主可控,同时可支持多平台(windows、Linux、国产系统)部署; 轻量级 提供通用标准(OGC、TMS等)服务,采用组件化的服务框架,易扩展,最小依赖第三方软件; 高性价比 ...
  • 启动nginx后,就可以访问到部署的项目了。 条件 需要一个云端服务器(腾讯云,百度云,阿里云,华为云等) 下载安装git 服务器配置好nginx,nodejs,npm 具体步骤 1、没有服务器的,需要买一个 2.、给服务器搭环境 ...
  • 若依RuoYi框架浅析 部署篇⑥——后端本地调试与云端部署。IDEA本地调试与CentOS云端部署

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,628
精华内容 20,651
关键字:

云端部署

友情链接: NLM.rar