image.png 1、3台主机:1台管理机、2台主机、1台日志服务器 管理机上ansible、配置文件、仓库、监控 2台主机安装keepalived 3台主机打通网络 1台日志服务器,原来用
二、禁用方式 基于 2.10.5 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2< /version> </dependency> 方式一(推荐) 在自定义的 SwaggerConfig 配置类中,通过 @ConditionalOnProperty(prefix = "swagger2" (prefix = "swagger2", value = {"enable"}, havingValue = "true") public class SwaggerConfig { @Bean 配置文件如下 spring: profiles: dev swagger2: enable: true --- spring: profiles: prod swagger2: enable : false(或者在prod环境下不写此配置) 方式二 同样在配置文件中编写配置文件 在自定义的 SwaggerConfig 配置类中获取配置文件中的配置信息 @Configuration @EnableSwagger2
Downloading https://mirrors.aliyun.com/pypi/packages/e7/1e/3dcca007f974fe4eb369bf1b8629d5e342bb3055e2001b2e5340aaefae7a [root@server01 ~]# 下载完毕后,还需要配置一下环境变量。 uWSGI master process (pid: 29508) spawned uWSGI worker 1 (pid: 29512, cores: 1) spawned uWSGI worker 2 437 bytes (1 switches on core 0) next_url = machine_unit:machine_unit_list [pid: 29512|app: 0|req: 1/2]
为生产环境编译 Angular 2 应用 Angular 2 已经发布了 2.1.2 版本, 相信很多人已经在使用(试用)了, 相比 AngularJS 1.x , Angular 2 在性能上有了长足的进步 , 同时 Angular 2 也变得非常的庞大, 动辄几兆的脚本, 如何部署到生产环境? 接下来就介绍如何为生产环境编译 Angular 2 应用, 在本文中, 我们将 Angular 2 官方文档中的 Hello Angular 应用编译到 50K 以下, 以用于生产环境。 从上图可以看出, 仅仅一个 Hello 应用, 就产生了 40 个请求, 加载了 1.8M 的脚本, 这个在生产环境下(特别是移动端)是无法接受的。 经过这样的终极编译优化编译之后, 应该可以放心的部署到生产环境了。
前言 如果我们需要使用webpack,就需要依赖node环境 nvm node npm webpack@cli webpack nvm安装 nvm是一个用来管理node版本的工具。 mac/linux安装 1.安装命令 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash 2. 创建nvm文件夹 mkdir ~/.nvm 3.配置环境变量 编辑环境 vim ~/.zshrc 在文件最后写入环境变量 export NVM_DIR="$HOME/.nvm" [ -s "/usr/local 2.然后点击一顿下一步,安装即可! 3.安装完成后,还需要配置环境变量。在我的电脑->属性->高级系统设置->环境变量->系统环境变量->Path下新建一个,把nvm所处的路径填入进去即可!
大家好,我是前端西瓜哥,今天带大家入门一下 pm2。 如果你用朴实无华的 node 命令去运行 nodejs 应用,那它是不稳定的,运行一段时间就会挂掉,不适合用在生产环境。 对于生产环境稳定运行 nodejs 项目,我们通常使用的是 pm2 命令行工具。 pm2 pm2,是一款用于守护进程的管理命令行工具,它能够帮你管理你的应用,让它全年无休不挂掉。 查看应用列表 pm2 list # 或者 pm2 ls / pm2 status pm2 的子命令还挺多别名的,超级多。具体你可以执行 pm2 -h 命令看看。 应用的运行状态。 是的,你也可以换成 /usr/bin/python 执行 python 脚本; env:对象,注入环境变量; instances:实例数量; out_file:普通日志输出文件 error_file:错误日志输出文件 / 结尾 pm2 是一个进程管理工具,广泛运用于在生产环境 nodejs 应用的管理。
还有就是本文的主角 PM2,有着 4100 多万的总下载量和 31k GitHub stars(译注:截止本文翻译时)。究其原因,简单地说,就是其简单易用并且让管理一个生产环境变得天衣无缝。 何为 PM2? ? 正如其新版首页中所标榜的,PM2 是一个“身经百战(battle hardened)”的、适用于生产环境的 Node.js 应用运行时和进程管理工具。 pm2 reload — 重新加载应用配置(这会在你修改了应用的环境变量时派上用场) 进程监控 ? 如果你已经阅读过其声明,应该见到了这 12 条规则: 一个置于版本控制下的代码库, 多份部署 明确地声明,并隔离依赖 在环境而非代码中存储配置 将后端服务视为附加资源 严格区分构建和运行阶段 以一个或多个无状态进程运行应用 通过端口绑定输出服务 通过进程模型扩展 通过快速启动和优雅地关闭保证最大的健壮性 尽可能保持开发和线上环境尽量一致 把日志视为事件流 以一次性进程的形式运行后台管理任务 如果遵守了以上规则,你将能够通过
一、PM2是什么 是可以用于生产环境的Nodejs的进程管理工具,并且它内置一个负载均衡。它不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理、监控功能。 嗯嗯,最好的用处就是监控我们的生产环境下的node程序运行状态,让它给我们日以继日的处于工作状态。 ,设置为2则占用2个 pm2 start app.js -i max //启用群集模式(自动负载均衡) pm2-dev start ... // 开发模式启动,即不启用后台运行 查看启动列表pm2 <appName> [options] 重启指定应用 pm2 restart app.js //同时杀死并重启所有进程,短时间内服务不可用,生成环境慎用 pm2 reload app.js pm2 monit 监控各个应用进程cpu和memory使用情况; ---- PM2配置方式 命令生产默认示例配置文件pm2 ecosystem或pm2 init,运行默认会生成ecosystem.config.js
三、生产环境 项目部署到服务器上后处于的环境,我们使用npm run build将项目打包以后,再运行项目,项目就运行在生产环境中了。 对于不同的环境,我们可以配置不同的环境变量,来实现开发和生产的兼容。 四,在多环境下要求前端工程架构流程 五,实战 1、新建项目目录; 2、新建index.html; 3、npm init -y 4、npm i axios -S; 5、npm i vite -D; 6、package.json 、生产环境配置 </body> <script type="module" src=". <em>2</em>,在项目根目录下(与package.json同级)新建配置文件 .env.development NODE_ENV = development VITE_NAME='开发<em>环境</em>' VITE_BASE_URL
VueJs为客户端语言,所以部署的时候是不需要基于nodejs或其他服务器运行环境,只需要像其他静态站点的方式发布就可以了,下面介绍一下VueJs具体发布的流程还有需要注意的点。 2.使用 npm run build 命令生成站点,站点为根目录下的dist文件; 3.解决站点刷新时404的问题; 到这个步骤的时候站点已经能正常访问了,到时不能F5刷新,刷新的时候回报404,仔细观察命令会发现
上周有小伙伴咨询,开发/测试/生产环境的概念,今天就做一个小结~ 1、开发环境 开发环境是程序员专门用来写代码的环境,一般是自己本地的电脑,也可以是远程的云服务器。 这个阶段,程序员会根据需求单和设计稿写代码,还有前端和后端联调,联调完没问题后,就把代码部署到“测试环境”啦。 继续往下看~ 2、测试环境 测试环境一般是用来给产品经理和测试同学测试功能的环境。 产品和测试同学验收没问题后,就把代码发布到生产环境啦。 3、生产环境 生产环境是正式对外的,给客户使用的环境。 开发把测试好的代码“部署”到生产服务器后,准备一个生产域名,外面用户通过生产域名访问。 预发布环境的配置、代码和数据库跟生产环境一模一样,不一样的地方是,预发布环境有自己的独立域名。 需要“预发布环境”的原因可能有以下原因: 1、需要生产数据库才能测试这个新功能。 2、对测试要求非常苛刻,在发布到生产环境前,需要模拟生产环境的一切配置,完全走一遍没问题再发布到生产环境才更安全。 --- end ----
大部分配置参考kyligence的生产环境推荐配置即可,但是该推荐有些配置没放进去,本文将描述几个关键属性需要自己手工配置的。 kylin.cube.aggrgroup.is-mandatory-only-valid=true kylin.query.timeout-seconds=60 kylin.job.allow-empty-segment=false 参考 生产环境推荐配置
前置阅读: pulsar-1:docker部署pulsar多节点集群 (1).为什么使用pulsar-presto (2).docker部署pulsar-presto (3).docker部署pulsar-sql (2).docker部署pulsar-presto mkdir -p /app/3rd/pulsar-presto/conf/presto/catalog cp https://github.com/apache 解决方式: 1.卸载旧版本 docker yum remove docker docker-common docker-selinux dockesr-engine -y 2.升级系统软件 yum upgrade -y 3.安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 4.添加软件源信息 yum-config-manager
rom1v 认为这里连接数不多,List 的性能要高于 Map,但是生产用起来才发现由于回收不及时,这里的连接数经常是上千的量级。 业务优化 以下是我们在生产环境使用时,出于性能提升或审计需要实现的一些功能。虽然不是必须的功能,但也算是一种不错的实践。
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash - sudo yum install yarn 安装pm2 yarn global add pm2 配置package.json 后台静默启动的快捷命令: "scripts": { "start": "pm2 start index.js -- watch --name redredstar", }, pm2的日志文件:/root/.pm2/logs下面 查看服务器上运行的NODE服务,执行:pm2 list 删除一个服务,执行 pm2 delete [appName]
生产环境全链路性能测试体系建设之路主要包括生产测试流程规范建设、生产测试工具平台建设、生产测试实施团队建设、落地实施细则。本文主要聊一聊生产测试工具平台建设。 预期数用于评估应用是否存在漏部署的节点,避免存在漏部署节点导致生产流量数据污染。若设置预期数,而实际已就绪数与预期数不符,则无法启动对应目标的测试。 对于规则变更,若发布变更,系统会将最新规则同步至庭层服务,同时会生产一个递增版本号。若未发布变更,提示存在未发布变更,可点击“发布变更“按钮进行发布,或通过”还原变更“清除未发布规则。 四、工具平台服务化基于公司内的项目性能测试经验,提炼生产性能测试的阶段性工作的细节,形成指南和规范,各项目组根据业务需求可申请生产测试服务支持。 对于常态化项目,做好流程规划把控,考虑可能影响项目实施的生产环境的变化因素,例如:接口变化影响测试实施,系统变化影响测试范围,系统应用组件变化造成数据污染,系统中间件变化造成测试链路变化。
项目上线,测试环境正常,上UAT环境后访问不到数据,于是开始步步分析,细细琢磨,最终成功上UAT,但影响了上生产环境的时间,造成项目延时发布,第一次遇到这么奇怪的事情,之后就是2017年12月26(周二 )的上生产环境,不过可怕的事情还是发生了:本地、测试、UAT环境都正常,生产环境有访问不到数据,直到12月27号2:00才解决,以上是问题情景。 这边也想了很长时间:为什么UAT环境代码好好的,正式环境就不行了,拉的是一套代码,不同的地方就是Disconf配置文件了(这里我前后核对了不下六遍,前两遍确实有问题及时做了修改,最后一遍我是一个一个字核对的 以下是我这边出现访问不到数据的三个情况: 1、Disconf环境配置文件的配置(本地、测试、UAT及生产环境都会有所差别),具体看各个环境的访问地址; 2、系统中访问的子系统接口是否同步上了相应的环境, 在相应环境上直接访问接口验证是否部署成功; 3、httpClient工具类中http和https是有区别的,线上环境和UAT环境一定要是https://开头的(从发现这个问题和解决花了我不少时间),https
Test 用户验收测试 PET Performance Evaluation Test 性能评估测试(压测) SIM simulation 仿真 PRD/PROD production 产品/正式/生产 我们开发过程中一般经常会遇到以下环境: pro、uat环境、pre、test、dev环境,中文名字:生产环境、用户验收环境、灰度环境、测试环境、开发环境 简单的来说就是: pro环境:生产环境,面向外部用户的环境 uat环境:验收测试环境,主要面向要交付的人员进行验证测试。 pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。 仿真环境:顾名思义是和真正使用的环境一样的环境(即已经出售给客户的系统所在环境,也成为商用环境),所有的配置,页面展示等都应该和商家正在使用的一样。 生产环境:生产环境是指正式提供对外服务的环境 一般情况下,我们系统开发必须要经历的三个阶段:开发->测试->上线。 本文为joshua317原创文章,转载请注明:转载自joshua317博客
1 Kafka 基本概念和系统架构 在 Kafka 集群中存在以下几种节点角色: Producer:生产者,生产消息并推送到 Kafka 集群中。 3.5 文件系统 Kafka 在生产环境中建议部署在 Linux 操作系统上,根据官网的测试报告,XFS 的性能要强于 ext4,因此生产环境建议使用 XFS 文件系统。 ,在 Confluent 官网推荐了以下 GC 调优参数,该参数在 LinkedIn 的大型生产环境中得到过验证(基于 JDK 1.8 u5)。 6.1.3 设置环境变量 编辑 /etc/profile 文件设置环境变量: export KE_HOME=/usr/local/kafka-eagle/kafka-eagle-web-2.0.6 export Kafka in Production] (https://docs.confluent.io/platform/current/kafka/deployment.html) [Kafka(4)-kafka生产环境规划部署
在测试环境中做了3轮数据迁移的演练,最终到了生产环境中,还是出现了不少问题,经过大半夜的奋战,终于是数据都迁移成功了。 2)人为失误,遗漏了脚本 在数据迁移之前运行了一些脚本来设置table nologging,index nologging,disable trigger..结果把最重要的foreign key的脚本给遗漏了 这和之前在测试环境的测试结果又很大的出入。 并行插入数据的时候遇到了瓶颈,可能和生产库没有开启异步io有关,数据库参数为filesystem_io,当前设置为none,而在测试环境中则为setall. 4)升级的过程中环境非法访问 按照约定,在升级的过程中,环境是不允许开发访问的,但是在这次数据迁移中,发现有一些资源消耗比较的sql语句都是从客户端发过来的。