项目部署

【JavaWeb】Docker项目部署 命令说明文档地址拉取镜像推送镜像到DockerRegistry查看本地镜像docker rmi删除本地镜像docker rmidocker run创建并运行容器(不能重复创建)docker run停止指定容器启动指定容器重新启动容器docker rm删除指定容器docker ps查看容器docker ps查看容器运行日志进入容器保存镜像到本地压缩文件加载本地压缩文件到镜像查看容器详细信息默认情况下,每次重启虚拟机我们都需要手动启动Docker和Docker中的容器。# Docker开机自启。 阅读详情

2.3 分布式存储及 Web 服务器性能

  • 后端知识体系
    • 语言:语法 20%
    • 语言生态:库、框架 20%
    • 服务器:Linux 15%
    • 网络:15%
    • 存储:
      • File 10%
      • SQL 20%

高可用与负载均衡

  • 单点故障:
    • 一个服务只有一个可工作的节点,一旦发生问题,就完全无法提供服务,这样的故障称为单点故障
  • 冗余:多余的,一大好处是,有问题的时候,有一个备用的,缺点是成本双倍。
    • 部件一级的
      • 磁盘的冗余
        • RAID
    • 服务器一级的
      • 读写分离
      • 热备
      • 负载均衡
  • 故障迁移:
    • 当一个服务器发生故障,无法对外提供服务时,由专门的检测程序监测到异常,把它原本负担的工作,转交由其他服务器处理,这个过程称为故障迁移,或者故障转移
  • 高可用:HA:High Available
    • 什么时候都要能工作,任何一次请求不允许出错,不允许出现单点故障
    • 用冗余来对抗故障
    • 数据库强调高可用
    • 高可用不关注性能提升,最关注服务和数据的可靠性
  • 负载均衡:LB:Load Balance
    • 访问量上来了,要能分配好,总体上保证服务可用
    • 如果某个服务器坏了,再把定向到这台服务器的请求分配到其他服务器,在重新分配期间,可能暂时的一小部分请求受影响,无法工作,能够接受
    • Web server 和 App[lication] server(py,java,php) 强调负载均衡
  • 热备份:备份时数据库不停止工作
    • 一个服务器工作时,旁边有一个相同配置的服务器 Stand by,不断与主服务器同步,随时待命,一旦主服务器发生故障,立即切换顶上去工作
    • 缺点:浪费一半硬件资源
  • 冷备份:备份时数据库要停止工作
    • 有一个完整的时间点的备份
  • 面试题:
    • 如何处理高并发问题

MySQL 的性能升级

  • 搞清楚业务的读写比例:

    • CRUD:RW
    • 读密集:加读缓存,用 NoSQL 做 Cache
      • 社区
      • 广告
      • 视频
    • 写密集:加写缓冲或者分表分库,在真正写库之前,先写到一个高速的中间层,然后再合并写入数据库
      • 电商:
        • 浏览商品:读密集
        • 下单:写密集
      • 游戏:操作多,全记录,写密集
        • 偷菜:500万DAU
        • 单用户操作200
        • 单日10亿次写入的应用
    • 读写均衡:
      • 论坛
      • 微博
  • 把观察问题的视角上升到整个系统架构上

    • 搞清楚问题是不是在 MySQL 上
    • 表现在 MySQL 上,问题不一定在 MySQL 上
    • MySQL 并发连接数超高
      • 可能是程序没有正确使用连接池
  • 确认瓶颈在SQL, MySQL 本身,针对 MySQL 如何解决性能问题

    • 单机优化

      • 80% : 分析优化 SQL语句,充分利用慢查询日志,打开监控慢查询
      • 索引优化
      • 优化表设计,调整结构,增加冗余的字段,节约计算
        • 大表拆小表
          • 把可变的数据与不变的分开
          • 尽量保持小表设计
      • 水平拆分:
        • 按某个规则把数据分散放到结构相同,但名字不同的表中
        • User_00…User_ff
      • 分析优化对 MySQL 的程序访问连接
    • 修改 my.cnf 配置,修改表和排序的缓存值

      • innodb_buffer_pool_size
    • 更换系统malloc的库,就能提升性能

      • Jmalloc
      • google
      • 更换更高效的存储引擎:MyISM -> InnoDB -> XtraDB / PerconaDB: 5%-10%
    • 硬件投入能马上解决的,升级内存,升级存储,先硬件投入,见效最快

    • 通过增加冗余的数据库服务器可构建数据库集群 [外链图片转存失败(img-UA56CqI8-1566997297029)(img/image-20190727175153458.png)]

    • 同一集群中的多台数据库保存的数据必须完全一致

    • 集群中一台服务器宕机,其他服务器可以继续提供服务

    • 常见结构:一主多从,主从之间通过 binlog 进行数据同步

  • 读写分离:把Read和Write操作分开

  • 从机用来数据读取

    • 主从同步是有mysql自己负责:binlog(二进制日志)binlog介绍

      • 程序自身实现读写分离

      [外链图片转存失败(img-ma57Ewgm-1566997297030)(img/master-slave-1.png)]

      • 使用第三方代理实现读写分离
        • mysql_proxy
        • Atlas:360
        • Amoeba:alibaba
        • sohu
        • netease

      [外链图片转存失败(img-WdoXq0Xj-1566997297031)(img/master-slave-2.png)]

    • 数据库 Sharding / 分库分表 / 数据库分片:重点介绍

    • 分布式数据库

    • 云数据库:新兴方式

    • 增加缓存

      • file 本地访问,其他不能访问。不怕重启
      • mem :本地访问最快,其他不行。怕重启
      • NoSQL:网络访问,没有本地访问,任何机器都能访问
  • 面试题:

    • 数据库的优化方法

数据库 Sharding / 分库分表 / 数据分片

  1. 数据分片
    • 单表查询能力上限: 对 MySQL 来说,约为 500 万 左右,设计优良的小表(字段很少) 1000万 也是上限了
    • B+树存储方式的存储上限:单表2000条
  • 方式: 分库、分表
  1. 垂直拆分:

    1. 拆分原则:把经常变化的数据与不变的数据分开

    单表字段太多的时候会进行垂直拆分, 不是为了分布式存储,而是为了提升单表性能

                                垂直拆分
                                   |
    user                           | ext_info
                                   |
    | id  name  sex  age  location | uid aa  bb  cc  dd  ee  ff |
    | ---------------------------- | -------------------------- |
    | 1   xxx   f    11   beijing  | 1  x   x   x   x   x   x   |
    | 2   xxx   f    11   beijing  | 2  x   x   x   x   x   x   |
    | 3   xxx   f    11   beijing  | 3  x   x   x   x   x   x   |
    | 4   xxx   f    11   beijing  | 4  x   x   x   x   x   x   |
    | 5   xxx   f    11   beijing  | 5  x   x   x   x   x   x   |
    | 6   xxx   f    11   beijing  | 6  x   x   x   x   x   x   |
    | 7   xxx   f    11   beijing  | 7  x   x   x   x   x   x   |
    | 8   xxx   f    11   beijing  | 8  x   x   x   x   x   x   |
    | 9   xxx   f    11   beijing  | 9  x   x   x   x   x   x   |
    
  2. 水平拆分

    水平拆分既可以用在 “分表” 处理,也可用在 “分库” 处理

    user
    id  name  sex  age  location  aa  bb  cc  dd  ee  ff
    ------------------------------------------------------ user_1
    1   xxx   f    11   beijing   x   x   x   x   x   x
    2   xxx   f    11   beijing   x   x   x   x   x   x
    3   xxx   f    11   beijing   x   x   x   x   x   x
    ------------------------------------------------------ user_2
    4   xxx   f    11   beijing   x   x   x   x   x   x
    5   xxx   f    11   beijing   x   x   x   x   x   x
    6   xxx   f    11   beijing   x   x   x   x   x   x
    ------------------------------------------------------ user_3
    7   xxx   f    11   beijing   x   x   x   x   x   x
    8   xxx   f    11   beijing   x   x   x   x   x   x
    9   xxx   f    11   beijing   x   x   x   x   x   x
    
    • 按range范围拆分

      • 优点: 构建简单, 扩容极其方便.

      • 缺点: 不能随运营发展均衡分配资源

      • 示例

        Database-1       1 -  500W   <- uid: 3120482
        Database-2    500W - 1000W
        Database-3   1000W - 1500W   <- post_id: 20278327
        Database-4   1500W - 2000W
        
    • 按余数拆分

      • 优点: 能够随着运营发展均匀分配负载

      • 缺点: 扩容不方便, 前期投入大

      • 示例

        uid = 3120483
        mod = uid % len(Databases) -> 3
        db_name = 'Database-3'
        
        Database-0      10  20  30   ...  3120480
        Database-1   1  11  21  31   ...  3120481
        Database-2   2  12  22  32   ...  3120482
        Database-3   3  13  23  33   ...  3120483
        Database-4   4  14  24  34   ...  3120484
        Database-5   5  15  25  35   ...  3120485
        Database-6   6  16  26  36   ...  3120486
        Database-7   7  17  27  37   ...  3120487
        Database-8   8  18  28  38   ...  3120488
        Database-9   9  19  29  39   ...  3120489
        
    • 按日期分拆

    • string:缓存

    • list:队列

    • set:去重

    • sorted set:排名

    • geo:数据类型计算

      • 地理位置计算
    • category :按商品品类拆分

    如何分拆完全取决于业务

    • 跟日期强相关的数据,可以按日期分拆
      • 订单
      • 经常会变更日期的数据
    • 如果没有什么特征的数据,尽量平均分散,用传统的 hash 或者 一致性 hash 等方式尽量均匀分布
      • 按照用户划分
      • 按照唯一账号
  3. 分布式数据库的 ID

    • 必须保证全服多机上产生的 ID 唯一,否则会发生主键冲突
    • 最简单办法,借助mysql的自增字段,可以加步长的特性
    • 常见全局唯一 ID 生成策略
      1. 基于存储的自增 ID
        • 可在 Redis 中为每一个表记录当前最新 ID 是多少, 获取下一个 ID 时进行自增
        • 优点: 思路简单, ID 连续
        • 缺点: 有存储依赖, 一旦 Redis 出现问题, 则会影响全部数据库存储
      2. 基于算法确保唯一
        • 常见算法有 UUID、COMB、Snowflake、ObjectID 等
        • 优点: 快速、无存储依赖
        • 缺点: 一般产生的 ID 数值都比较大, 某些算法的 ID 并非是增序
    • 一个真实的全局唯一 ID 生成策略:
    • ID生成器,序号发生器,发号器,发号服务
      • snowflake:独立服务
      • flickr:
        • 用一个MySQL服务器的自增表负责发号
        • Vego项目:看研发文档
  4. 面试题:

    1. 如何分表分库?

    2019年的做法

    1. 直接使用云数据库
      1. 阿里分布式云数据库(基于 PostgreSQL 修改)
      2. TiDB等国产新兴分布式数据库,为了分析,单加一台服务器,专门分析
        1. OLTP:联机事务处理,网站程序
        2. OLAP:联机分析处理,分析报表
        3. HTAP:既有Redis的速度还有mysql的接口
      3. GreenPlum:PostgreSQL 系的新兴分布式数据库,比较吃硬件,网络要好
    2. 特点:
      1. 直接支持 SQL 标准,效能接近NoSQL
      2. 扩容、缩容对程序透明
      3. 不需要自己去维护数据库扩容问题
      4. 起步成本低,可以随着业务量逐渐加
      5. 节省维护的人力成本

数据库集群

  • 换一个角度看并发与性能

  • 概念

    • 写程序,本质上来说,就是做两件事:计算(字符串操作)和I/O
    • 理解 I/O 的概念
      • Input / Output
        • 网卡:
          • 1000 M bps:bit per second / Bps : Bytes per second
        • 1000M / 8 = 125MB
        • 万兆网卡:infini band
          • 内存:70%-80%
          • CPU 50%-60%
        • 磁盘:
          • SSD:500MB
          • 机械硬盘:50MB
    • 理解 “同步/异步”、“阻塞/非阻塞”
    • 了解 “事件驱动” 和 “多路复用”事件驱动
    • 异步模型并不会消灭阻塞,而是在发生 I/O 阻塞时切换到其他任务,从而达到异步非阻塞
  • 计算密集型

    • python为什么在这些场景能立足呢?
    • numpy pandas都是高效的实现
      • python入门对不懂程序的人,是最简单的
    • CPU 长时间满负荷运行, 如图像处理、大数据运算、科学运算等
    • GPU
    • 计算密集型: 用 C 语言或 Cython 补充
  • I/O 密集型:python程序

    • 网络 IO, 文件 IO, 设备 IO 等
    • Unix: 一切皆文件,所有设备都可以模拟成像文件一样的接口,可以像访问文件一样去访问
    • 打开
      • 读
      • 写
      • 关闭
  • 多任务处理

    名称资源占用数据通信上下文切换 (Context)
    进程大不方便 (网络、共享内存、管道等),最简单的Redis通信操作系统按时间片切换, 不够灵活, 慢
    线程小非常方便按时间片切换, 不够灵活, 快
    协程非常小非常方便根据I/O事件切换, 更加有效的利用 CPU
  • 全局解释器锁 ( GIL )

    [外链图片转存失败(img-kkOnjrP3-1566997297032)(./img/GIL.png)]

    • 它确保任何时候一个进程中都只有一个 Python 线程能进入 CPU 执行。
    • 全局解释器锁造成单个进程无法使用多个 CPU 核心
      • 由于Linux系统中,进程开销很小,可以用进程来实现多核
    • 通过多进程来利用多个 CPU 核心,一般进程数与CPU核心数相等,或者CPU核心数两倍
  • 协程

    • Python 下协程的发展:

      • stackless / greenlet / gevent(monkey_patch)
      • tornado 通过纯 Python 代码实现了协程处理 (底层使用 yield)
      • asyncio: Python 官方实现的协程
    • async-io 实现协程

      import asyncio
      
      async def foo(n):
          for i in range(10):
              print('wait %s s' % n)
              await asyncio.sleep(n)
          return i
      
      task1 = foo(1)
      task2 = foo(1.5)
      tasks = [asyncio.ensure_future(task1),
              asyncio.ensure_future(task2)]
      
      loop = asyncio.get_event_loop()  # 事件循环,协程调度器
      loop.run_until_complete( asyncio.wait(tasks) )
      
  • 结论:通常使用多进程 + 多协程达到最大并发性能

    • 因为 GIL 的原因, Python 需要通过多进程来利用多个核心
    • 线程切换效率低, 而且应对 I/O 不够灵活
    • 协程更轻量级,完全没有协程切换的消耗,而且可以由程序自身统一调度和切换
  • HTTP Server 中,每一个请求都由独立的协程来处理

  • 单台服务器最大连接数

    • 文件描述符: 限制文件打开数量 (一切皆文件)
    • 内核限制: net.core.somaxconn
      • 控制能打开的并发TCP请求,有多少能进入等待区
    • 内存限制
  • 修改文件描述符: ulimit -n 65535 实际上单台服务器可以远远超过这个限制,单服务器可以处理上百万的并发连接

  • 使用 Gunicorn 驱动 Django

  • 分清几个概念

    • CGI:

      • common gateway interface
    • Unix shell, Python, Ruby, PHP, Tcl, C/C++,和Visual Basic都可以用来编写CGI程序。

    • Fast-CGI

      • PHP
    • WSGI:
      全称是 Web Server Gateway Interface, 它是 Python 官方定义的一种描述 HTTP 服务器 (如nginx)与 Web 应用程序 (如 Django、Flask) 通信的规范。全文定义在 PEP333

  • uwsgi:
    与 WSGI 类似, 是 uWSGI 服务器自定义的通信协议, 用于定义传输信息的类型(type of information)。每一个 uwsgi packet 前 4byte 为传输信息类型的描述, 与 WSGI 协议是两种东西, 该协议性能远好于早期的 Fast-CGI 协议。

    • uWSGI:
      uWSGI 是一个全功能的 HTTP 服务器, 实现了WSGI协议、uwsgi 协议、http 协议等。它要做的就是把 HTTP协议转化成语言支持的网络协议。比如把 HTTP 协议转化成 WSGI 协议, 让 Python 可以直接使用。
    HTTP Server  => 负责 1. 接受、断开客户端请求; 2. 接收、发送网络数据
        ^
        |
        v
      WSGI       => 负责 在 HTTPServer 和 WebApp 之间进行数据转换
        ^
        |
        v
    Web App      => 负责 Web 应用的业务逻辑
    

[外链图片转存失败(img-zWTq6J2N-1566997297033)(2.3-分布式数据库及性能评估.assets/image-20190807095443138.png)]

  • 面试题:
    • 请描述你做过的服务器结构/架构/部署

压力测试

  • 常用工具
    • ab (apache benchmark)
      • Ubuntu 下安装 ab: apt-get install apache2-utils
      • 压测: ab -k -n 1000 -c 300 http://127.0.0.1:9000/
    • wrk
    • wrk -t2 -c20 -d5s http://www.baidu.com
      • locust
  • Web 系统性能关键指标:
    • 并发连接数
    • RPS (Requests per second)
  • 其他: MySQL
    • QPS (每秒查询数): Query per second:
      • QPS :300
    • QPS: 1000-3000
      • QPS: 5000
      • TPS (每秒事务数, 数据库指标): Transaction per second
  • 面试题:
    • 如何做压力测试?
Docker项目部署 一、前端项目部署 1、上传文件 2、开启容器 3、测试 二、后端项目部署 1、打包java项目 2、将jar包和Dockerfile文件长传到Linux系统 3、构建镜像 4、开启容器 5、测试 阅读详情

相关推荐

【Linux项目部署指南】

在Linux服务器上部署应用通常有宝塔和手动部署这两种方式,如果是宝塔部署,直接参考宝塔官方网站即可。这里主要介绍手动部署,如果项目是集成了Docker,那就使用Docker的方式部署项目,不然推荐Nginx部署项目。(本人在小公司,目前用的就这两个方式的多一点)

L-Blog 2072

项目部署,一点也不难!

部署项目很简单,本次练习由杂到简,原理简单,通俗易懂!

code_xiaotian的博客 1万+

Jenkins部署若依项目

jenkins机器 用途:自动化部署前端后端,前后端自动化构建需要配置发送SSH的秘钥和公钥,同时jenkins要有nodejs工具来进行前端打包,maven工具进行后端的打包。配置jenkins机器的公钥可以让jenkin的机器模拟拉取代码和推送代码。tomcat&redis机器 用途:作为后端机器来进行后端的服务访问和使用redis机器进行缓存。通过安装插件来调用本地的服务来进行下面步骤的调用本地服务和配置好的工具使用。配置SSH发送将打包好的包儿发送到对应的前端nginx服务器上。

qq_59671942的博客 2121

项目部署的完整流程

作为一个合格的程序猿,仅仅会打代码还是远远不够的,项目的部署也是我们必须要会的操作,也就是所谓的上线,将我们本地开发好的项目部署到远程服务器上,使得任何机器都可以通过我们远程服务器的公网ip或者域名加上端口号访问到我们的项目。这篇博客详细的列出每个步骤,并且也列举了在部署过程中常见的问题,看完这篇文章,你一定会有所收获! 首先,我先给大家捋一下项目部署的流程: 环境搭建: 我们以当下最流行的springboot项目为例,最终打成的是一个jar包,jar包要在远程服务器上跑起来,环境搭建是第一步,也就是安

can_chen的博客 7万+

台达PLC DIAdesigner-AX 编程实战:从安装到通信配置

本文详细介绍了台达PLC DIAdesigner-AX编程的实战操作,从软件安装、项目创建到通信配置的全流程。重点讲解了TCP/IP通信设置、库文件管理及常见错误处理,帮助工程师快速掌握台达PLC编程技巧,提升工业自动化项目的开发效率。

weixin_29215391的博客 530

企业网络改造必看:如何用华为S5700三层交换机解决多部门隔离通信?

本文详细介绍了如何利用华为S5700三层交换机解决企业多部门网络隔离与通信需求。通过划分VLAN实现逻辑隔离,并配置三层路由实现受控互通,结合ACL进行精细访问控制,构建安全高效的企业网络。文章提供了从拓扑规划、地址分配到核心配置的完整实战指南。

weixin_29260291的博客 261

31.项目部署

自定义错误码页面一定要将settings.py中的debug改为False我们现在的404是这样的感觉不是很好看,我们可以自己搞一个html,放在模板层中,然后将其命名为404.html重新启动服务后发现已经换成了我们自定义的页面除了404之外,400,403,500都可以定制,但我没试过。

potato123232的博客 3661

新手小白 必须精进的 “ FLASH分区管理Code and Data ” !!!最强文章解析!!!

FLASH“代码区”和“数据区”不是每个项目都必须显式管理,但只要你的产品功能越来越丰富,对可靠性和扩展性要求提高,就一定要学会科学划分和使用。这也是嵌入式工程师进阶路上的必修课!

qq_75157958的博客 933

项目的部署

当我们的项目开发完毕后,我们需要将项目打包、部署到服务器上,供用户来使用。目前,常见的部署方式有两种:这是最古老的部署方式,也是最常见的一种部署方式。我们前端只需要将我们的项目打包好,交给后端开发人员即可。后端开发人员会把我们打包好的项目放到后端的静态资源目录里面。随着前后端分离开发模式的流行,现在可以采用前后端分离部署的形式。后端部署后端服务器的代码,前端将打包好的资源,部署到前端的服务器上面,用户在做请求的时候,从前端服务器请求静态资源,然后从后端服务器获取数据。目前前端部署静态资源时,大多采用 Nod

狡辉两门的博客 4118

多agv系统调度的MATLAB仿真

从起点出发,到货物点领取货物最后到卸货点,以完成任务总时间最短为目标进行单目标优化,约束条件为,任务不冲突,路径不冲突,要能实现路径规避 ,4-6台agv一起工作。左右货架间隔可通过1个agv,上下货架间隔可通过两个agv,通道为双向行驶通道。一台agv只能带一个货物,优化目标为完成任务总的时间最短,agv的速度是匀速,转弯也不会减速,取货物时间为固定值。上面的图里面货物看为正方形跟agv一样的长度大小,agv试做是跟货物一样大小的正方形agv的速度是每秒1个车身。多台agv一起完成...

FPGA/MATLAB学习教程/源码/项目合作开发 7564

【车载以太网测试从入门到精通】系列文章目录汇总

物理层测试、数据链路层测试、以太网交换机测试、网络层测试、传输层测试、以太网TCP/IP协议自动化测试、以太网网络管理测试、以太网网络管理自动化测试、鲁棒性测试、SOME/IP测试、SOMEI/IP服务接口自动化测试、DoIP诊断测试、DoIP诊断自动化测试、DoIP BootLoader刷写、以太网网关路由测试、以太网网关路由自动化测试、AVB测试。

测试领域技术分享 3160

项目如何部署

Nginx是一款高性能的Web服务器和反向代理服务器,具有许多显著的特点和优势,使其在各种应用场景中都能发挥出色。首先,Nginx的设计重点在于高并发、高性能和低内存消耗。它采用异步、非阻塞的事件驱动架构,能够高效地处理大量并发连接,尤其是对于静态文件请求,效率极高。同时,在保持高性能的同时,Nginx对系统资源特别是内存的占用率较低,使得在相同的硬件条件下能提供更高的服务能力。其次,Nginx作为反向代理服务器,功能强大且灵活。

qq_64376339的博客 2350

【Arduino 动手做】构建一个迷你 Las Vegas RGB LED 球体

《Arduino迷你拉斯维加斯球体项目:15岁少年的创意挑战》 15岁的Ben通过本项目展示了如何利用Arduino平台制作一个经济实惠的迷你拉斯维加斯球体夜灯。该项目涉及LED选择(采用WS2812B可编程灯带)、电子元件配置(含Arduino Nano微控制器和红外遥控)以及3D建模设计(100毫米直径球体)。项目难点包括LED布局优化、供电方案设计和3D打印外壳制作。Ben详细记录了从背景研究、电路设计到最终实现的完整过程,特别强调了分辨率与成本的平衡,以及如何通过白色扩散器改善视觉效果。这个项目不仅

雕爷学编程 1024

Linux下部署Vue项目部署

介绍:是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 和 服务器,也是一个 代理服务器。部署系统: 二、下载Nginx安装包 官网地址:nginx: download 三、解压Nginx 四、编译和安装 进入解压后的Nginx目录并进行编译和安装: Nginx安装完成后,默认自动创建 目录,并创建必要的文件和目录。 五、防火墙设置 如果您的系统启用了防火墙,需要关闭防火墙(如果访问不到错误日志没有报错可以看看防火墙) 六、启动Nginx 进入Nginx的安装目录: 然后,启动Nginx服

qq_70546613的博客 2626

SAP 系统间 SSO 的真正价值,从 SM59 到可信 RFC 的安全设计

SAP S/4HANA系统间Single Sign-On(SSO)的核心价值在于集中管理通信身份与信任关系,而非仅减少密码输入。传统固定账号密码方式在系统规模扩大后会面临密码管理、审计追踪等挑战。通过SM59配置可信RFC目标系统,结合SSL证书或SAP Trusted System等强认证机制,能有效降低安全凭据暴露风险。SSO配置需配合授权对象、角色管理等建立清晰的信任边界,实现系统间安全通信的同时保持可审计性。这种方案特别适用于Fiori前端与S/4HANA后端等场景,通过可信RFC传递用户身份,避免

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1063

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

docker项目部署

②build是用来构建镜像的,context表示资源路径(点表示当前路径),dockerfile用于寻找我们的Dockerfile文件(默认就是Dockerfile,可以不写,除非将Dockerfile改名了)我们可以看到,两者实际上是一一对应的,这是语法风格不同罢了,其中version:"3.8"是DockerCompose的语法版本。一共需要两个文件(夹),一个是我们的前端项目文件夹,一个是我们的nginx配置文件,将他们都放在linux同一个文件夹下,这个命令中,最后一部分表示在目录中查找名为。

s050106的博客 1518

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

docker部署项目

备注:本文以CentOs 7为例。Docker 要求 CentOS 系统的内核版本不低于 3.10 我的版本是:3.10.0-1160.53.1.el7.x86_64 1.3 安装工具包 1.4 设置yum源并更新yum包索引 2.安装docker 2.1 安装docker-ce 2.2 启动docker 2.3 查看已安装docker版本 2.5 配置镜像加速 3.docker常用命令 二、部署项目: 备注: 本文主要是本地单机用docker部署多个项目,所以只要用docker拉取tom

folyh 3850

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

前端项目部署流程

前端项目部署流程 1.首先我们需要有一台服务器,这里我用的是阿里云ecs服务器。选择的服务器操作系统是linux,下面我们开始从0开始部署一个前端项目到服务器上。 步骤: 一、链接服务器 (1). 我们需要先在自己电脑链接上我们的服务器,我使用的是xshell工具。 # 通过ssh @root[ipaddress] 来链接你的服务器 #(将ipaddress替换成你服务器的公网IP地址) ssh @root[ipaddress] 二、部署一个简单的静态页面 登录成功之后,我们先来部署一个简单的html静态

qq_41709082的博客 3万+

如何在Linux上部署项目

如何在Linux上部署项目

weixin_42333933的博客 9130

在WebLogic上部署项目

WebLogic项目部署 安装完成WebLogic以后,接下来就是如何在上面部署项目了,下面我给大家演示如何将web项目部署到WebLogic上,启动WebLogic,浏览器访问: http://localhost:7001/console 登陆进入到WebLogic的控制台: 然后点击左侧的部署按钮: 在右侧点击安装按钮: 看到路径输入框,可以直接选择在要部署的项目的位置,也可以直接选择...

马旭辉博客 6938

部署Javaweb项目

选择时候就好了。

2302_79585857的博客 1516

前端部署项目

首先测试上线: 在项目的dev分支上 $npm run build 在项目dev分支全局安装http-sever $npm i http-server -g 启动http-sever $http-server -c10 //后面的c-10是缓存,可以写,也可以不写 如果发现这里启动不了,就去项目里找到config目录下的index.js文件,将host配置为0.0.0.0...

吴小迪的博客 5万+

如何在linux服务器上用Nginx部署Vue项目,以及如何部署springboot后端项目

本文内容记录如何在Linux(Ubuntu)系统上安装Nginx,并部署打包好的Vue前端项目,最后通过浏览器访问。提示:以下是本篇文章正文内容,下面案例可供参考这样前后端项目就都部署运行了。不给过最初还得安装好数据库等一些项目中应用到的软件,才能使得项目正常运行。

qq_44657940的博客 4186

项目部署总结记录

在对于编程知识了解的还是一知半解的时候,类似于部署项目这种话术在我看来是陌生并且伴随着恐惧的,那种恐惧来源于未知。所以,在学会的现在,做一个总结记录。这篇博客自然也就是针对和当时的那个我水平差不多的同学的,大佬们可以略过了。所谓项目部署,其实是分项目和部署两个部分,那么项目就是代码构建的一个系统,就像学生管理系统啊什么的,但是代码只能在你电脑上,也就是本地运行,并且还得打开对应的开发工具,那么部署就很好的解决并相对完美的解决了这么麻烦的问题。首先你要学会什么是客户端和服务器,然后明白,你平时访问就是客户端,

weixin_65549694的博客 1092

项目部署方法总结

本文介绍了Java Web项目部署的核心概念与流程:Tomcat作为Java Web服务器是项目运行的关键工具;项目需脱离IDEA独立运行,通过云服务器实现24小时在线服务。重点对比了JAR包和WAR包的区别:JAR包适用于非Web项目直接运行,WAR包需依赖Tomcat服务器。部署方式分为静态部署(需重启)和动态部署(无需重启),包括通过server.xml配置、webapps目录放置等具体方法。不同项目类型(如SSM、SpringBoot)需采用不同打包格式和部署策略,其中Web项目通常需打包为WAR部

LSL666_的博客 1029
上一篇: Social模块开发(3)
下一篇: 分布式部署2
Are you ready
博客等级 码龄8年 312粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值