-
Linux 多线程全面解析
在传统的 Unix 模型中,当一个进程需要由另一个实体执行某件事时,该进程派生(fork)一个子进程,让子进程去进行处理。Unix 下的大多数网络服务器程序都是这么编写的,即父进程接受连接,派生子进程,子进程处理与客户的交互。 虽然这种模型很多年来使用得很好,但是 fork 时有一些问题: fork 是昂贵的。内存映像要从父进程拷贝到子进程,所有描述字要在子进程中复制等等。目前有的 Unix 实现使用一种叫做写时拷贝(copy-on-write)的技术,可避免父进程数据空间向子进程的拷贝。尽管有…
-
Linux 操作的良好习惯总结
前言:从事运维,遇到过各式各样的问题,数据丢失,网站挂马,误删数据库文件,黑客攻击等各类问题。 今天简单整理一下,分享给各位小伙伴。 一、线上操作规范 1. 测试使用 当初学习Linux的使用,从基础到服务到集群,都是在虚拟机做的,虽然老师告诉我们跟真机没有什么差别,可是对真实环境的渴望日渐上升,不过虚拟机的各种快照却让我们养成了各种手贱的习惯,以致于拿到服务器操作权限时候,就迫不及待的想去试试,记得上班第一天,老大把root密码交给我,由于只能使用putty,我就想使用xshell,于是悄悄登…
-
优秀的代码都是如何分层的?
1、背景 说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。 的确在这些人眼中分层只是一个形式,前辈们的代码这么写的,其他项目代码这么写的,那么我也这么跟着…
-
常用 Shell 分析服务器日志命令,运维快收藏!
自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1、查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 2、查看某一个页面被访问的次数: grep "/index.php" log_file | wc -l 3、查看每一个IP访问了多少个页面: awk '{++S[$1]} END {for (a in S) prin…
-
几个必不可少的Linux运维脚本!
一、根据PID过滤进程所有信息 #! /bin/bash # Function: 根据用户输入的PID,过滤出该PID所有的信息 read -p "请输入要查询的PID: " P n=`ps -aux| awk '$2~/^'$P'$/{print $11}'|wc -l` if [ $n -eq 0 ];then echo "该PID不存在!!" exit fi echo "--------------------------------" echo "进程PID: $P" echo "进…
-
Linux 性能分析工具汇总
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博文,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性…
-
运维必备!Linux 远程数据同步工具详解
一、简介 1 认识 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快; Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试; 此外,它在windows平台下也有相应的版本,如cwRsync和Sync2NAS等工具 2 原理 R…
-
老司机亲授:请收下这份运维故障处理指南
1.故障处理原则 故障处理的原则只有两个: 以恢复业务优先 及时升级 1.1 恢复业务优先 恢复业务优先是指,不管在任何情况下,也不管任何级别的故障,都要先做到恢复业务,这个和故障定位不同,也有很多人会产生歧义,觉得如果不找到问题的根源,如何能恢复业务,下面我举一个例子说明二者的差别: 如果 A 应用调 B 应用时,调用失败,这时我们要怎么做? 方法一,排查问题,寻找A到B之间会经过哪些环节,找到其中的出问题的环节,比如HA连接异常,进行重启或者扩容恢复。 方法二,从A应用的服务器去ping B…
-
7 款颜值 yyds 的 Linux 操作系统 !
Linux 的发行版有很多,这里罗列7个漂亮的 Linux 发行版,可以说是Linux操作系统界的颜值担当了。 elementary OS 网站:https://elementaryos.cn elementary OS操作系统是最漂亮的Linux发行版之一。它基于macOS外观,同时为Linux用户提供了出色的用户体验。如果用户已经习惯使用macOS,则使用elementary OS不会有任何问题。 另外,elementary OS操作系统基于Ubuntu,因此用户也可以轻松找到大量应用程序来…
-
分享:Linux 的 6 个实际和现实应用
众所周知,Linux 为全球数百万台服务器和台式机提供支持。但是这个开源操作系统还有其他应用吗? 如果您在桌面上使用 Linux,您可能想知道您正在使用的操作系统有哪些实际用途。幸运的是,今天有很多 Linux 的实际应用程序。以下是其中一些。 1. 网络服务器 Linux 在现实世界中最大的用途是在服务器上,尤其是 Web 服务器上。Linux 主导 Web 服务器市场有几个原因。 一个原因是 Linux 安装起来非常便宜。回到 90 年代的“互联网”时代,许多初创公司正是出于这个原因发现了 …