但在生产环境上,我们需要预知问题,检测bug,所以无奈下又改善架构 将日志,包括mysql慢日志,查询日志,nginx的请求日志,错误日志,php的错误日志,慢日志都暂时存入redis内,至少我存起来了...PHP 进阶之路 – 零基础构建自己的服务治理框架(上) https://segmentfault.com/l/1500000011300619 PHP 进阶之路 – 零基础构建自己的服务治理框架(下)...到底为了什么做架构?我的答案是 “活” ,为了让产品活下去而做架构。什么时候可以做架构? 任意时间都可以做。但要看精力、财力、人力。 可扩展 可扩展性上篇文章我说过,是一把束缚我的刀,这把刀是什么?...这把刀一直在我脖颈处,如果这时为了省事,躲开了,那未来的某个时间,这把刀就会断头。做了五年的程序员。实际困难需求、复杂需求还有部分BUG的产品,个人认为与扩展脱不了关系。
默认情况下,所有账号都是禁止远程连接的。在安装MYSQL的时候,在设置ROOT密码那里有一个CHECKBOX,选中的话就开启了ROOT的远程登陆功能,默认是没被选中的。...利用: select * frommysql.user 查出所有的MYSQL用户,可以发现默认情况下,这些记录的host字段的值全都是localhost,这个host字段就是表示哪些机器可以利用此账号连接到本机的...所以默认情况下别的机器无法连接。 所以要想开启一个账号的远程连接,只要将这个账号所对应的host字段改成那个IP就行。...PS:Linux下安装完MySQL默认用户是没有密码的,开启远程连接之前最好将用户设上密码。...一个简单的方法是: shell命令下执行mysqladmin -u root password "密码",可以通过访问mysql数据库命令: [root@gaoke~]#mysql -uroot -
来源:Linux爱好者 ID:LinuxHub 一.应用场景 Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性...,目前市面上比较常见的是通过服务器的raid阵列卡来实现此功能。...当然有,软raid就可以实现这一需求。 二.实现步骤 软raid比较依赖操作系统,所以他的劣势也显而易见,需要占用系统资源(主要是CPU资源)。...目前在Linux和windows下软raid都比较常见了,Linux是通过mdadm实现的,windows下则在win2003之后通过磁盘管理来实现。...P.S:需要强调的是生产环境下两块组raid的硬盘必须是同品牌同型号同容量的,否则极容易出现软raid失效的情况。
通过硬件阵列卡实现raid具有可靠性高,性能好等特点,但是对于一般的企业而言硬件阵列卡固然好,如果大规模应用的话动辄几千上万的费用也不是他们所能承受的,难道就没有既能保证数据安全,又能减少费用支持的IT...当然有,软raid就可以实现这一需求。 二.实现步骤 软raid比较依赖操作系统,所以他的劣势也显而易见,需要占用系统资源(主要是CPU资源)。...目前在Linux和windows下软raid都比较常见了,Linux是通过mdadm实现的,windows下则在win2003之后通过磁盘管理来实现。...P.S:需要强调的是生产环境下两块组raid的硬盘必须是同品牌同型号同容量的,否则极容易出现软raid失效的情况。...在fdisk下raid的分区类型代码是fd,在parted工具下首先需要使用mklabel将磁盘格式由MBR改成GPT,然后才能使用mkpart命令进行分区,分完区之后使用set设置分区flag为raid
关于在本地虚拟机(VMware 14)下安装Linux同时安装Nginx,请参考Nginx学习系列之搭建环境 1、启动Nginx 在Nginx安装成功的前提下,启动Nginx ?...已root模式登陆(权限需要),接着找到Nginx的安装目录,启动Nginx,并且指定Nginx启动所需的配置文件,该文件也在Nginx的安装目录下. 2、查看Niginx是否开启 打开Linux中的火狐浏览器...因为nginx.conf配置文件里面包含一些nginx主要的配置信息,所以,如果配置错误,整个nginx服务器就会发生异常,所以尽量操作这个默认的配置文件. (2)、添加新的配置文件,实现负载均衡 ?
于是我搜啊搜,搜啊搜,终于搜到了一个不错的答案,答主推荐到哔哩哔哩上看一下浙大翁恺教授的视频教学。 我只能说视频的质量非常高,一下子就刷了三十多集。...要知道,Dev-C++ 一度要移植到 Linux 上呢,这说明它真的辉煌过。 除了 Dev-C++,还有哪些可选项呢?...不管是 Windows 平台还是 macOS 平台,或者是 Linux 平台,CLion 都提供了对应的版本可供下载。只不过,商业版只提供了 30 天的免费试用期。 ?...我们需要先下载安装一下 MinGW,忘了 MinGW 是什么的读者可以回到前面的内容确认一下。...最后,总结一下,重要重要重要: 1)如果有教育邮箱的话,首选 CLion。原因一,JetBrains 公司的产品值得信赖;原因二,支持跨平台,Windows、macOS、Linux 都能用。
所谓冷启动,也就是一般所说的上电复位,冷启动后片内外RAM的内容是随机的,通常是0x00或0xFF;单片机的热启动是通过外部电路给运行中的单片机的复位端一复位电平而实现的,也就是所说的按键复位或看门狗复位.../冷启动处理 unStartFlag=0xAA55AA55; } 然而实际调试中发现,无论是热启动还是冷启动,开机后所有内存单元的值都被复位为0,当然也实现不了热启动的要求。...反汇编程序,发现从启动代码执行结束到跳转到main函数过程中,编译器还执行了很多库函数,其中__scatterload_zeroinit函数将所有W/R RAM都初始化为0(默认设置下)。...为了判断冷、热启动,必须人为控制某些特定RAM在复位时不被编译器初始化为0。...__at (0x40003FF4); 这样,当热启动时,变量unStartFlag所在的内存区域就不会被初始化为0,也实现了冷热启动的判断。
解决方法 因此我们可以采用bond技术实现多网卡的负载均衡来保障网络的自动备援和负载均衡。以此保障实际运维工作中网络的可靠性、文件高速率传输性。...但需要在服务器本机网卡相连的交换机设备上进行端口聚合来支持绑定技术; mode1 自动备援技术: 平时只有一块网卡工作,在它故障后自动替换为另外的网卡; mode6 平衡负载模式: 平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持; 这里主要详细介绍下mode6...以下在VMware虚拟机下RHEL 7中进行网卡的bond技术绑定操作 配置网卡设备的绑定参数,这里需要注意此时独立的网卡需要被配置成为一块“从属”的网卡,服务于“主”网卡,不应该再有自己的IP地址。
epoll实现 epoll 的实现比poll/select 复杂一些,这是因为: 1. epoll_wait, epoll_ctl 的调用完全独立开来,内核需要锁机制对这些操作进行保护,并且需要持久的维护添加到...单个文件的状态改变可能唤醒过多监听在其上的epoll,产生唤醒风暴 epoll各个功能的实现要非常小心面对这些问题,使得复杂度大大增加。...epoll的实现中,所有可能产生递归调用的函数都由函函数ep_call_nested进行包裹,递归调用过程中出现死循环或递归过深就会打破死循环和递归调用直接返回。...因为ep_call_nested中已经对死循环和过深的递归做了检查,实际的ep_loop_check_proc的实现只是递归调用自己。...其中的visited_list和visited标记完全是为了优化处理速度,如果没有visited_list和visited标记函数也是能够工作的。
上一篇文章 Linux下使用ssh密钥实现无交互备份 这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份。...本地控制真正可写) read only = false #这里设置IP或让不让同步 list = false #指定允许的网段 hosts allow = 192.168.1.0/24 #拒绝链接的地址,一下表示没有拒绝的链接
Deepin(Linux)下实现Android投屏 最近需要演示自己的安卓开发作品,因此需要在自己的主力操作系统(Deepin)上实现安卓投屏,之后才好连接电脑在班级里演示。...It works on GNU/Linux, Windows and MacOS. 但是在这里主要记录下Linux下的Deepin系统配置。.../sdkmanager --licenses 注:本人没有测试,因为为了效率直接使用了热心网友编译好的,后期抽时间再编译一次再补充。...简易配置 上文提到为了方便,我在deepin社区找到了热心网友打包好的scripe,直接就可以使用,在这里简单写一下免编译操作步骤: ?...--------------------- Author: Frytea Title: Deepin(Linux)下实现Android投屏 Link: https://blog.frytea.com
cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: 引用: /sbin/service crond start //启动服务 /sbin/service
一些准备 既然都备份了,为了保险起见,备份与库就不放在同一台服务器上了,于是向运维申请了一台服务器,同时安装好mongo,如果不知道怎么安装mongo的话可以看我的上一篇文章。...接下来测试下利用mongodump来备份数据库: ....# --out 保存路径 到这里,mongo的备份已经实现,现在要完成的就是自动啦。...编写脚本 自动定时备份其实就是通过crontab命令来实现啦。但前提是我们需要编写个定时跑的脚本。...Boot学习笔记(四)构建RESTful API标准工程实例 Spring Boot学习笔记(五)整合MyBatis实现数据库访问 Spring Boot学习笔记(六)结合MyBatis实现较为复杂的
使用bind绑定多个网卡 由于服务器上对于可用性的要求都比较高,对于各项功能都会有有冗余设计,比如,磁盘、电源、网卡、甚至服务器本身等等,今天尝试做一下网卡绑定实现网卡的冗余。...网卡绑定的实现表面上看起来有些像是硬盘实现逻辑卷,都是通过创建一个逻辑设备来实现的。实现网卡的绑定其实还挺简单的,相比逻辑卷更容易理解。...也很简单,只要把你想加入这个逻辑网卡的物理网卡的配置文件稍微修改一下就可以了。...www.kernel.org/doc/Documentation/networking/bonding.txt 使用team绑定多个网卡 在centos7中也可以使用bond进行多网卡绑定,不过centos7中有更好的实现方法...看一下文件格式。
nvme0n1p1 2048 1230847 1228800 600M EFI System /dev/nvme0n1p2 1230848 3327999 2097152 1G Linux...filesystem /dev/nvme0n1p3 3328000 500117503 496789504 236.9G Linux LVM Disk /dev/sda: 931.5 GiB, 1000204886016
epoll实现 epoll 的实现比poll/select 复杂一些,这是因为: 1. epoll_wait, epoll_ctl 的调用完全独立开来,内核需要锁机制对这些操作进行保护,并且需要持久的维护添加到...单个文件的状态改变可能唤醒过多监听在其上的epoll,产生唤醒风暴 epoll各个功能的实现要非常小心面对这些问题,使得复杂度大大增加。...因为ep_call_nested中已经对死循环和过深的递归做了检查,实际的ep_loop_check_proc的实现只是递归调用自己。...其中的visited_list和visited标记完全是为了优化处理速度,如果没有visited_list和visited标记函数也是能够工作的。...epoll的实现中考虑到了此问题,在每次添加新文件到epoll中时,就会首先检查是否会出现这样的唤醒风暴。
Linux下编译安装Apache并且配置HTTPS访问。https是超文本传输安全协议,是一种网络安全传输协议。...http协议传输的数据都没有加密,一些私密的信息不安全,https经由超文本传输协议(http)进行通信,利用SSL/TLS来加密数据包,https开发的主要目的就是为了保护数据传输的安全性。...也可以提前设置好防火墙的规则 Windows的hosts文件中需要添加”192.168.115.120 www.awstats.com”域名解析 使用Windows浏览器测试是否成功 2、给Apache安装ssl模块 为了使...Apache支持https访问,系统需要安有apache、openssl、mod_ssl.so Linux系统默认安装了openssl,所有就不需要安装了,由于某些原因,apache的ssl模块在最初安装时未能包含进去...,在之后又不能重新安装apache,这时就需要在不重新编译apache的情况下新增编译模块,可采用以下方法 (1)进入Apache的源码解压的/modules/ssl目录执行安装命令 [root@www
参考 在Linux下使用C++调用pthread API实现的一个线程池。...简介 这个线程池是在学习完《Linux/UNIX系统编程手册》中线程相关知识后用来练手的小项目,线程相关函数都是直接调用Linux的API,并且使用了C++中的queue和vector。...互斥锁 当不同的线程需要对同一块资源进行访问时,为了保证资源的安全,可以给其加锁。...这样就保证当不允许多次加锁时不会出现最简单情况下的死锁。 PTHREAD_MUTEX_ADAPTIVE_NP 适应锁,动作最简单的锁类型,仅等待解锁后重新竞争。...基于c++11的100行实现简单线程池 使用C++11实现线程池的两种方法 欢迎与我分享你的看法。 转载请注明出处:http://taowusheng.cn/
一、实现SMB共享 1、在服务器安装软件包 yum -y install samba 2、创建samba用户和组 groudadd -r admins user alfa -G admins -s /sbin...sharegrp1 setfacl -m u:apple:rwx /share/sharegrp1 setfacl -m g:admins:rwx /share/sharegrp1 如果selinux打开情况下需要设置...share 将samba服务器设置的账号(就是第1步中建立的smbadmin账户,只填写它的账户和密码就可以)密码写入一个文件中,并设置600权限 5、挂载 挂载完成后mount -a 6、客户端实现多用户访问...useradd apple useradd banana 注意:成功以后,发现别人可以删除自己的文件,这不符合工作中的要求,为了实现合理的自己只能删除自己的文件,这里将继续下一步的操作 7、新建共享组...u apple 192.168.239.70 cifscreds add -u banana 192.168.239.70 banana用户的文件apple用户不能删除不能修改,只能查看 由此可见,实现文件权限的方式是
今天为了测试我的LCD有没有坏点写了一个简单的刷屏程序,效果还不错,分析给大家。
领取专属 10元无门槛券
手把手带您无忧上云