![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
服务器
dj1540225203
加油打工人
展开
-
广州正佳小程序优化预测
方案3:nginx使用了接口代理,把单独抢券的那个接口临时代理到一台新的临时服务器和应该也增加了临时只读数据库,分解压力,其他服务不受影响。广州正佳最近在搞一个活动,就是发福利,但是因为技术原因,导致了系统出现了很多问题,引起了很多吐槽,在此笔者仅从技术的角度分析一波。起因:发券18抢100,这个羊毛(*^▽^*),你懂的引起了轩然大波,疯抢,这块就涉及到高并发了。经过:大伙集体薅羊毛,导致服务器504,502,库存超卖,各种报错,并且其他服务不可用。最后,看到服务还算稳定,最主要的是我白嫖到了,哈哈。原创 2023-01-17 10:48:32 · 78 阅读 · 0 评论 -
浅析如何避免CPU飙高?还出现502了
当然CPU飙高的原因很多,任务多,处理时间久,线程不够等,我们也可以根据top中sleeping进程数调高初始进程,或者业务上分离等。思考一个场景,您这边需要根据你库中的一个表,持续的去抓取第三方接口数据然后更新入库你会如何处理?而且使用分页的方式任务更多但CPU反而更小!原创 2023-01-17 10:21:08 · 104 阅读 · 0 评论 -
迁移服务器和切换域名
迁移原创 2022-09-20 11:15:51 · 643 阅读 · 0 评论 -
linux使用less排查日志文件
less原创 2022-08-03 16:17:47 · 3146 阅读 · 0 评论 -
超时504常用配置--Nginx 之fastcgi常用配置项说明
504原创 2022-07-20 15:14:03 · 3348 阅读 · 0 评论 -
运维-- 统一网关非常必要
统一网关必要性原创 2022-06-26 00:07:20 · 923 阅读 · 0 评论 -
Nginx 禁止国外 IP 访问网站!
https://mp.weixin.qq.com/s/xBokwthFIRWe6DI62ASQwQ转载 2022-06-12 00:30:58 · 629 阅读 · 1 评论 -
docker部署解决“三高“问题
docker容器化部署方案?原创 2022-06-09 11:33:28 · 294 阅读 · 0 评论 -
SpringBoot项目结合nginx部署(jar包手动部署教程)
spring boot结合nginx部署原创 2022-06-09 10:00:47 · 4025 阅读 · 0 评论 -
api如何实现版本控制?
常言道,常在马路走哪有不湿鞋?在牛逼的业务也有可能因为一个小bug,导致系统全盘奔溃,如果没有对策应对这些问题?项目何谈健壮?git代码尚且有版本控制,项目没有版本控制确实不妥,曾经天真的因为只要一直迭代迭代,修复修复就好了,但是如果一个bug很难找出来的时候,修复时间未知的时候,如果是金融项目拜拜了,就算不是金融的系统奔溃那么久是不是被boss爆菊花了?由此可见接口必须有版本控制。单体项目方案:①通过前端强制所有接口必须携带head参数中规定版本参数,服务端必须校验参数!Restful接口的版原创 2022-05-20 15:40:40 · 324 阅读 · 0 评论 -
linux查找日志cat ,less命令
基本使用:切换到对应的文件使用命令cat app.log|grep '发货成功'如果是大文件,可以使用,多个|是且的意思less app.log | grep '发货成功' | grep '不存在'原创 2022-04-21 11:33:28 · 597 阅读 · 0 评论 -
支付宝签名浅析
官方文档:签名与验签介绍 | 开放平台加解密工具:生成密钥 | 开放平台基础能力:基础能力 | 小程序商户会员卡产品:商户会员卡产品介绍 | 小程序第三方开放平台:代调用 OpenAPI 说明 | 第三方应用 Step-1:创建第三方应用 | 小程序第三方开放平台API预览:代开发模式 API 概览 | 小程序资金能力:交易分账查询接口 | 小程序运营能力:无资金商户优惠券产品介绍 | 小程序小程序直播:小程序直播产品介绍 | 小程序小程序前端和数据分析:开发 | ...原创 2022-03-15 16:28:19 · 419 阅读 · 0 评论 -
TAPD 完整项目工作流
敏捷开发中,一个项目从需求出发,到实际开发,到完成上线,到持续迭代完成过程。1.结合企业微信,方便项目消息实时更新同步到每一个成员。2.各个成员工作的监控,项目的把控,代码的把控等都行程了一个闭环管理参考:TAPD 主要看这个官方文档。下面结合一些在实际项目中如何使用的做个介绍。①公司对项目的创建;进行权限小组的角色分配;进行需求任务bug等创建和指配给对应人员②进行项目代码和gitlab等关系,方便监控员工工作情况以及项目进度把控情况及时作出调整③版本更新迭代各个角色的审核通.原创 2022-03-01 16:08:38 · 2138 阅读 · 0 评论 -
10分钟学会 linux awk命令
简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自转载 2022-02-26 14:33:44 · 89 阅读 · 0 评论 -
网站慢了如何排查?快速定位问题?
如果突然你公司的网站或者系统卡顿慢了,让你排查,你会如何排查?根据使用的服务器不同而不同,这些就不说了,下面以nginx为例其他相似。①查询nginx配置所在文件路径,查看记录access日志和error日志的地方find / -name nginx.conf然后进入查找到的路径,可能很多个,因为可能一台服务器不止为一个项目服务的,你需要找到发生问题的配置最后查找accss_log和error.lgo的路径。如果使用虚拟主机那也一样去虚拟主机找配置排查了非nginx的问题后;继续排原创 2022-02-26 14:03:27 · 1955 阅读 · 0 评论 -
jenkins安装使用
自动化部署工具很多,比如walle使用yii2框架编码的;syncd使用go编码的;jenkins使用java编码的;各种工具需要各种对应的环境;今天主要介绍下java们喜欢用的工具jenkins.①java需要的初始环境就不做介绍了②上官网下载对应系统的安装包③安装使用主要是记录一下密码:cd19c5309c1d4b6385e7bf52bcaee923访问:localhost:8080...原创 2021-12-22 15:17:42 · 664 阅读 · 0 评论 -
正常的代码上线流程(一)
参考来源:说一说正常的代码上线很多时候,经验是被痛苦逼出来的,流程是被错误逼出来的。在上线的过程当中,这段时间遇到了一些问题,造成了研发耽误了不少时间。原因是上线的不规范性以及没有任何的权限限制。另外互联网项目版本开发都非常频繁。一天上线十几个小版本,也是有可能的。像我现在的公司,经常一天修改好多次文案,就需要不断的上线。如果处理不及时上线的话,会造成用户的一些误解,导致一些投诉以及不好的用户体验。这么频繁的修改上线,也是需要一定的流程和规范保证。Git 代码管理很多互联网公司都开始使用Gi原创 2021-12-21 15:50:36 · 2362 阅读 · 0 评论 -
linux查看日志命令 和 crontab一些命令
//实时日志:tail -f log.txt//日志中是否包括某字符cat app.log|grep '商品新增成功'//最后10条日志tail -10 app.log原创 2021-11-26 15:08:28 · 109 阅读 · 0 评论 -
phpstudy一些使用技巧
使用mac的朋友请先跳过哈,其实很多操作直接在phpstudy界面式操作就可以了,只是我们平时没有注意,在此记录一下,这些操作有些可以省点时间的。①切换不同版本的mysql,配置,可以设置模式,等等②配置nginx;舒服的都是自动生成配置文件。③不同项目使用不同配置等等。host等,都不用找路径了直接点它!④检测端口可用性...原创 2021-11-22 17:15:21 · 665 阅读 · 0 评论 -
腾讯云和阿里云MYSQL数据恢复
数据是任何系统的根本,没有数据那么系统啥也不是,如果数据丢失会造成很多问题,小则系统用不了,大则甚至可以牢底坐穿。下面主要讲下数据恢复的方案和思路。①自己使用linux服务器搭建的mysql服务器,这种一般都是运维的事,我们作为技术的话不用管,使用binlog恢复即可。②使用腾讯云数据库,一般都是使用云数据库了,给点钱给腾讯很多东西都帮你处理好了,基本上手动操作一下即可,但是要知道有这么个事。不然哪天需要了也摸不着头脑。可以参考:腾讯云.xb 数据库备份恢复回档数据库③使用阿里云的恢复方..原创 2021-11-22 10:13:05 · 1204 阅读 · 0 评论 -
封装一个option类项目通用类
一个项目中,为了方便管理和快速找到关键点信息,通常需要制定一些规则和一些通用方法,方便快速定位问题,解决问题。①表结构存数据CREATE TABLE `xcxmall_option` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `store_id` int(11) NOT NULL DEFAULT '0', `group` varchar(255) NOT NULL DEFAULT '', `name` varchar(255) NOT N原创 2021-11-19 14:34:49 · 284 阅读 · 0 评论 -
php平滑版本升级 与 Nginx平滑升级与回滚
产景:当php版本不能满足现在代码的产景时,可以进行平滑升级和回滚。产景:当nginx版本不能满足现在代码的产景时,可以进行平滑升级和回滚。升级过程:PHP版本平滑升级升级过程:一分钟升级Nginx特别推荐一下这个博客,里面涉及很多nginx优化的东西!...原创 2021-11-10 10:23:14 · 2103 阅读 · 1 评论 -
聊聊php-fpm配置
在一个公司中,如果不是运维,可能连服务器的权限都没有,开发只管开发,但是要了解他其他的LNMP中的php-fpm配置吧?开始之前请先看下官方文档:FastCGI 进程管理器(FPM)和如何配置php-fpm配置文件建议先收藏此博客,后面需要的时候再看哦。php-fpm.conf配置文件[global]pid = /www/server/php/56/var/run/php-fpm.piderror_log = /www/server/php/56/var/log/php-fpm....原创 2021-10-13 15:03:35 · 118 阅读 · 0 评论 -
linux服务常用命令
切换到指定目录删除文件夹cd /data/wwwroot/ rm -rf saasmall_bak20200624备份指定目录文件cp -R saasmall saasmall_bak20200803不同服务器文件迁移,不用再手动下载上传 (可以复制到指定服务器指定文件下,需要输入被复制的服务器密码)scp -r wechat root@106.55.XX.XX:/data/wwwroot...原创 2021-09-30 14:24:34 · 66 阅读 · 0 评论 -
walle部署奔溃恢复
其实walle部署的核心原理是scp;知道了这个就好办了,下面记录一下奔溃的恢复命令。切换至代码部署目录cd /data/wwwroot/删除目录rm -rf st查询上次执行命令history | grep ln -s执行代码链接ln -s /data/releases/open/saas_o2o/20210819-200933/ /data/wwwroot/st...原创 2021-09-30 13:55:17 · 109 阅读 · 0 评论 -
git分支管理
作为一个技术主管,那么肯定需要代码管理的工作,如果一个团队有很多开发者,怎么管理一个团队每个人的代码呢? 假设使用的是git代码管理,如何对分支进行处理,对分支如何创建分支并且管理他们呢?如何让开发者自己部署分支代码到测试环境呢? gitlab服务器怎么管理呢?如何创建一个git项目呢? 开发过程中遇到突发情况生产bug,临时需求等等怎么处理呢?技术主管:搭建gitlab服务器,进行git代码关联,创建相关开发者账号密码。部署自动化部署如:瓦力 (控制为增量部署,不能部署master分支,可自动部署原创 2021-03-20 16:27:56 · 200 阅读 · 0 评论 -
单体项目多服务器发布
当一个项目需要多台服务器部署,在多台服务器上又是同样的代码的时候,通过什么方式部署方便呢?如果你还是手动一台一台的ftp的方式部署,那么该看看这个文档了,毕竟程序员要懂得释放生产力。部署代码的方式很多种,有瓦力自动化部署,jenkins自动化部署,还有使用同步方式去部署,亦或是使用swoole脚本自动化部署,或者bash shell部署等等,但是今天我们讲的主题都不是这些,我们讲的是懒人操作,毕竟我们要把生产力用到刀刃上业务开发。下面使用的是batchShell软件直接部署 参考:BatchSh..原创 2021-02-05 11:26:02 · 658 阅读 · 0 评论 -
JMeter使用教程
产景:客户渐渐增加,必须进行压力测试了,之前使用了postman进行简单的压力测试,但是看到的效果不是很直观,后面发现JMeter还不错于是使用了起来。参考:JMeter的使用教程1.安装djk,使用软件管理安装比较简单2.安装JMeter,直接下载安装3.使用测试参考网上教程...原创 2021-02-02 15:45:01 · 124 阅读 · 0 评论 -
监测服务器php-fpm情况,自动重启。
场景①:单机部署的情况下;php-fpm挂了导致服务器接口返回500报错。因为情况很多,可能是高并发或者其他意外情况导致的线程不够用,内存不够,CPU占满等情况。场景②:多服务器负载均衡部署情况下;可能某台服务器会php-fpm因很多情况也会和场景①的情况。如果是大晚上的突然挂掉岂不是很尴尬?怎么处理呢?单机情况处理方案:cron+php脚本检测①php脚本<?php$url = '要监测的网站域名';$cmd = 'service php-fpm restart';for(原创 2020-12-16 01:50:16 · 431 阅读 · 0 评论 -
论冗余数据的危害性
因为历史遗留问题,公司业务早期估计到数据量在不久的会非常大,于是乎在测试环境搞了几千万数据进行性能测试;但是没有删除,谁料到竟然会对生产造成了影响!多台mysql服务器负载都无法抵挡!慢查询,因为我们的系统主要是做第三方小程序开发的,商户的库存表全部都在inventory一个表;由此可见分表也是非常重要的了!SELECT COUNT(*) FROM (SELECT `g`.`id`, `g`.`name`, `g`.`price`, `g`.`original_price`, `g`.`c原创 2020-07-14 10:05:32 · 944 阅读 · 0 评论 -
centos7服务器结合阿里云和宝塔安装配置rabbitMQ(三)
前面安装了rabbitMQ和讲解介绍了基础的理论,下面开始小实战如果你已经成功在服务器搭建了rabbitMQ服务,那么就可以操作了,否则建议去看我的其他博文。参考:https://www.cnblogs.com/qxandxt/p/10746729.html//生产者代码<?php//声明连接参数$config = array( 'host' => '127.0.0.1', 'vhost' => '/', 'port' => 5672原创 2020-06-20 10:28:28 · 1208 阅读 · 2 评论 -
centos7服务器结合阿里云和宝塔安装配置rabbitMQ(二)
一、简介MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等...二、使用场景在项目中,将一些无需即时返原创 2020-06-20 10:22:05 · 409 阅读 · 0 评论 -
centos7服务器结合阿里云和宝塔安装配置rabbitMQ(一)
敬请期待原创 2020-06-18 17:48:30 · 2617 阅读 · 0 评论 -
navicat中观察数据库各类情况
//查看所有数据库容量大小selecttable_schema as '数据库',sum(table_rows) as '记录数',sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'from information_schema.tablesgroup by table_schemaorder by sum(data_leng.原创 2020-06-18 17:00:56 · 1375 阅读 · 0 评论 -
服务器磁盘满载处理
突然客户反馈说有些页面打开很慢!甚至404报错!然后有权限的同事登录服务器看到了其中一台服务器,磁盘接近满载了!就是这个原因导致了客户打开很慢。分析处理:备份满了,要磁盘释放!同事一顿操作猛如虎,但是我却看不到,没权限操作蛋疼加手痒,于是有了这篇博客!显示所有磁盘空间占用情况 df -ha可参考:https://www.cnblogs.com/ftl1012/p/9248233.html分析磁盘处理,无非就是释放一些没用的文件:https://blog.51cto.com/原创 2020-06-17 01:19:47 · 492 阅读 · 0 评论 -
linux定时任务排查问题
阅读本文时,请先阅读:定时任务的配置场景使用:当一个处理需要定时任务处理时,但是却没有达到预期的效果的时候,可以这样排查是否是定时任务出问题了!原则:无论是什么,凡是涉及服务的必须有日志!1.使用ssh等工具连上linux服务器,使用命令查看linux的定时任务是否正常运行;如果不正常运行手动调用再看第2步。service crond status2.如果1正常,则通过日志查看是否某个定时任务没有执行,日志的路径在:通过打开这个文件,查看里面是否某个定时任务挂了!如果不正常运行手原创 2020-06-15 14:06:07 · 518 阅读 · 0 评论 -
CPU过高,php-fgm为例找问题
php系统,偶尔可能会出现CPU过高的问题,很多情况都有可能,但是怎么排查呢?为了优化必须排查,真实项目中就看到过系统奔溃的。1.找出占用CPU最高的10个进程ps aux | sort -k3nr | head -n 102.找出占用内存最高的10个进程ps aux | sort -k4nr | head -n 102、对进程进行跟踪查看查看进程打开的文件 lsof -p 进程PID查看进程在处理的文件 ll /proc/进程PID/fd查看进程的内存使用原创 2020-06-14 12:02:07 · 406 阅读 · 1 评论 -
linux的定时任务调用sh脚本
什么是sh脚本相信很多开发者都配置过linux上的定时任务,大多数都是使用 **** curl http://www.xx之类的进行配置。这样的定时任务无非就是让linux定时去跑php脚本的方法;但是你有想多写sh脚本吗?想过sh脚本如何执行的吗?它又和php脚本有什么区别?其实sh并没有你想的那么高深,其实和php类似:秒懂了吧!Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。...原创 2020-06-13 00:26:24 · 462 阅读 · 0 评论 -
CDN加速调优
调优是项目必不可少的手段,其中CDN也是,突然发现项目有时候在个别客户那里访问非常缓慢!负载均衡的服务器上的代码是一样的为什么会导致这种情况的出现呢?情况一:客户网络问题情况二:web服务器在被访问时,不能快速命中“节点”,就像走了很多弯路最终才到了目的地。主要针对情况二做调优,其中的一个方法是CDN加速:阿里云CDN加速说白了就是通过界面式操作或者代码实现方式进行这些处理!那么有个有趣的问题来了,平时看到那么多网址,怎么判断哪些使用了CDN加速呢?大同小异。在命令行中输入:n原创 2020-06-12 23:30:43 · 260 阅读 · 0 评论 -
分库分表思路
①数据库瓶颈问题:数据库的IO瓶颈,CPU瓶颈;这些都是由于"连接数"太大,进而造成的连锁反应。1.IO瓶颈:磁盘IO瓶颈,因为热数据太多,数据库缓存存不下,每次查询都会消耗大量IO,采用的解决方案:分库和垂直分表;也有可能是网络IO瓶颈,因为请求数太多造成宽带不足,那么可以采用分库方案。2.CPU瓶颈:可能sql中包含大量的join,group by,order by等非索引增加CPU的运算,建议sql优化;单表数据太大,查询扫描太多,sql效率太低,可能使用水平分表(如user表非常大可以切分字原创 2020-05-31 15:41:54 · 159 阅读 · 0 评论