安装后,执行uname -r,显示4.14.129-bbrplus则切换内核成功 执行lsmod | grep bbr,显示有bbrplus则开启成功
今天升级Linux内核到2.6.30-r5。但是升级重启后,发现blog打不开了。Nginx报502的Gateway错误。
http://blog.csdn.net/hguisu/article/details/8930668 (排名100多bolg写的很好)
引言 lamp含义:黄金组合。简要介绍一下下面这四个东西吧。linux,不用说了有很多发行版本,主流的三大版本是Debian系列,RedHat系列,slackware系列。apache,全称叫Apache HTTP Server,是世界使用排名第一的web服务器软件,httpd是超文本传输协议http服务器的主程序。可通过简单的API扩展,将PHP/Perl/Python等解释器编译到服务器中。PHP是全球最好的脚本语言,主要用于web开发,python是高级编程语言,功能也很强大。 mysql和maria
PHP作为最流行的语言之一,自第一个版本发布至今的二十几年里经历了多次重大改进,PHP7版本最大的特色在于其性能上的突破,比PHP5快了一倍。目前PHP7已经得到了广泛应用,越来越多的项目从PHP5迁移到了PHP7。目前,关于PHP内核的资料非常有限,《PHP7内核剖析》以当前最为流行的PHP7版本为基础,系统性地、尽可能详细地介绍PHP语言底层的实现,旨在帮助更多的开发者进一步理解PHP,参与到PHP的实现中,为未来PHP的发展贡献一份力量!全书内容主要包括PHP数据类型的实现、PHP的编译及执行、PHP内存的管理、函数及面向对象的实现、PHP基础语法的实现,以及PHP扩展的开发。《PHP7内核剖析》适用于有一定C语言基础的PHP高级工程师,或者想了解PHP7的内部实现、扩展开发的工程师。
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-4.字符串 一、字符串源码 zend_string 1 typedef struct _zend_string zend_string; //定义 zend_string变量 2 struct _zend_string { //_zend_string结构体 3 zend_refcounted_h gc; 4 zend_ulong h;
当需要使用一个框架、工具或者服务时,在使用前应对其运行原理进行研究。随着原理研究工作的不断深入,能让我们在使用时更得心应手。
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli 1.SAPI接口 PHP具体应用的编程接口。 2.开始和结束 PHP开始执行以后会经过两个主要的阶段: 处理请求之前的开始阶段和请求之后的结束阶段。 1.1开始阶段: 1.1.1 模块初始化阶段(MINT),只进行一次。 1.1.2 模块激活阶段(RINIT),PHP会调用所有模块的RINIT函数 1.2结束阶段(脚本执行到末尾或者通过调用exit(
AOP是一个现代的面向切面的框架,使用简单的PHP,具有丰富的功能,适用于新级别的软件开发。该框架允许在传统的面向对象的PHP代码中解决横切问题,为您的代码提供高效和透明的钩子系统。
这篇文章我们来聊聊 「Laravel 生命周期」 这个主题。虽然网络上已经有很多关于这个主题的探讨,但这个主题依然值得我们去研究和学习。
刚开始对这个问题我也挺纠结的,看了《HTTP权威指南》后,感觉清晰了不少。 首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。 web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx 知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求
关于这几个内核参数对应的解释可参考资料:2.12. Reduce TCP performance spikes
#背景 一直以来我的业务都是跑在aufs+ext4的存储驱动结构上,看上去没有什么问题,直到业务报告: 在高并发场景下,aufs因为锁争抢的原因,导致cpu高负载。我才不得不考虑更换docker驱动的事情
Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。
由于 PHP 可以处理 WEB 和 CLI 两种接口请求,所以 Laravel中设计 HttpKernel 和 ConsoleKernel 来处理这两种类型的请求,Http Kernel是Laravel中用来串联框架的各个核心组件来网络请求的,简单的说只要是通过 public/index.php来启动框架的都会用到Http Kernel,而另外的类似通过 artisan命令、计划任务、队列启动框架进行处理的都会用到Console Kernel, 今天我们先梳理一下Http Kernel做的事情。
在Blackhat2018,来自Secarma的安全研究员Sam Thomas讲述了一种攻击PHP应用的新方式,利用这种方法可以在不使用unserialize()函数的情况下触发PHP反序列化漏洞。
一个测试环境,nginx+php-fpm对外提供服务,测试人员访问的时候出现时快时慢的情况,慢时超过了正常网页的等待打开时间范围。重启nginx php-fpm后恢复,访问几次后又会慢
NGINX以高性能的负载均衡器,缓存,和web服务器闻名,驱动了全球超过 40% 最繁忙的网站。在大多数场景下,默认的 NGINX 和 Linux 设置可以很好的工作,但要达到最佳性能,有些时候必须做些调整。首先我们先了解其工作原理。
PHP是一门简单而强大的语言,提供了很多Web适用的语言特性,其中就包括了变量弱类型,在弱类型机制下,你能够给一个变量赋任意类型的值。 PHP的执行是通过Zend Engine(下面简称ZE),ZE是使用C编写,在底层实现了一套弱类型机制。ZE的内存管理使用写时拷贝、引用计数等优化策略,减少再变量赋值时候的内存拷贝。
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 一、弱类型语言 php是弱类型语言。一个变量可以表示任意数据类型。 php强大的一
PHP团队最近投票一致通过了“将Libsodium库集成到PHP内核中”的决议,使得PHP成为首个使用公认现代加密库的编程语言。 Libsodium是个便捷,可交叉编译,现代化,易于使用的软件库;可用于加密,解密,签名,密码哈希等。 和PHP源代码一样,Libsodium是用C编写的。如今,很多公司,如Keybase,数字海洋,Riseup,Yandex,Wire和Zcash,已经他们的服务中部署Libsodium。 提出加入Libsodium建议的的开发者是来自Paragon Initiative公司
https://litipk.github.io/Jupyter-PHP-Installer/
PHP是一门简单而强大的语言,提供了很多Web适用的语言特性,其中就包括了变量弱类型,在弱类型机制下,你能够给一个变量赋任意类型的值。 PHP的执行是通过Zend Engine(下面简称ZE),ZE是使用C编写,在底层实现了一套弱类型机制。ZE的内存管理使用写时拷贝、引用计数等优化策略,减少再变量赋值时候的内存拷贝。 下面不光带你探索PHP弱类型的原理,也会在写PHP扩展角度,介绍如何操作PHP的变量。 1.PHP的变量类型 PHP的变量类型有8种: 标准类型:布尔boolen,整型intege
上一篇文章我们介绍了Laravel的HTTP内核,详细概述了网络请求从进入应用到应用处理完请求返回HTTP响应整个生命周期中HTTP内核是如何调动Laravel各个核心组件来完成任务的。除了处理HTTP请求一个健壮的应用经常还会需要执行计划任务、异步队列这些。Laravel为了能让应用满足这些场景设计了 artisan工具,通过 artisan工具定义各种命令来满足非HTTP请求的各种场景, artisan命令通过Laravel的Console内核来完成对应用核心组件的调度来完成任务。 今天我们就来学习一下Laravel Console内核的核心代码。
从上面的解释来看,就是定义了一个队列,并设置了队列长度,那么这个队列是做什么的,接着往下看
PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。
通过前两节对平均负载和 CPU 上下文切换的学习,我相信你对 CPU 的性能已经有了初步了解。不过我还是想问一下,在学这个专栏前,你最常用什么指标来描述系统的 CPU 性能呢?我想你的答案,可能不是平均负载,也不是 CPU 上下文切换,而是另一个更直观的指标—— CPU 使用率。
如果你准备用JavaScript重写你的PHP,那么是的,node.js可以代替你的Apache。
理解应用程序的输入/输出(I/O)模型,意味着其在计划处理负载与残酷的实际使用场景之间的差异。若应用程序比较小,也没有服务于很高的负载,也许它影响甚微。但随着应用程序的负载逐渐上涨,采用错误的I/O模型有可能会让你到处踩坑,伤痕累累。
文章来自:博客 http://blog.csdn.net/hguisu/article/details/7377520 1、PHP的运行模式: PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。 1、当我们在终端敲入php这个命令的时候,它使用的是CLI。 它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。 2、当使用Apache或者别web服务器作为宿主时,当一个请求到来时,PHP会来支持完成这个请求。一般有: 多
本文基于《PHP 内核剖析》与 《PHP7底层设计与源码实现》所记笔记。 对PHP内核的深入理解有助于我们对PHP的整体认识,对于业务层初期发展我们可以只了解基本语言的逻辑就可以写出符合业务的代码,但
这个公众号自从去年6月份到现在已经半年了,将近80篇的原创大概换来了550元的广告费。这不是我一个人的钱(主要是大家浏览量带来的支持),再加上我们最近遇到的事情,在避开了一大坨不靠谱的虚假公益组织后,我拿出了300元(惭愧不算多)捐献给了北京韩红爱心慈善基金会。转账的时候是用我个人建行的网银捐献的,附言名义是[ 老李的朋友们和老李 ],捐献渠道是我从韩红老师的weibo上找到的一个招商银行的对公银行账号,但目前我有两个尚无法确认:
在访问dev路径时,看到提示内容说现在我们处在levl 0的等级里面,让我们再努力一点
当我们在命令行终端键入php这个命令的时候,使用的就是CLI模式;当使用nginx或者其他服务器作为宿主来处理一个请求的时候,会调用php来运行,此时使用的就是web模式。
我问大家一个问题,下图中一个最简单的例子,会导致哪些CPU开销产生?你是否能够说清楚?
说明: 在CentOS升级后,在关机重启后,启动项会多出一条新的条目如下图所示:再确定新的内核不出现问题时,可以删除这些内核。
cgi 一种协议 fastcgi 也是一种协议,是在 cgi 上做了优化 php-cgi php 对 webserver 提供的 cgi 协议的接口 php-fpm php 对 webserver 提供的 fastcgi 协议的接口
进行开源直播系统源码的开发工作时,开发者们遇到的最多问题就是使用什么语言开发的,回答大多是PHP语言。对于没有开发经验的人来说,很难理解PHP语言到底代表着什么,又有哪些作用。
解释器文件是一种文本文件,它第一行的形式为:#! pathname [optional-argument]在!和 pathname 之间的空格不是必要的,可以根据需求选择有无。pathname 指的是绝对路径名,[optional-argument] 指的是可选参数。
我说的 GCC 版本可不是指的「gcc –version」,而是指的上到 Linux 内核,下到 PHP 之类的软件,是用哪个版本的 GCC 编译的。
2.php-cgi,php-fpm,fastcgi的区别? cgi一种协议 fastcgi也是一种协议,是在cgi上做了优化 php-cgi php对webserver提供的cgi协议的接口 php-fpm php对webserver提供的fastcgi协议的接口
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli 一、SAPI是什么? 1.1 理解SAPI (1)SAPI是PHP框架的接口层。有很多种服务器的SAPI的实现,代码在sapi文件夹下。常见的接口抽象层实现有:cgi,apache2,cli,embed,fpm。 (2)各个服务器遵循着相同的约定,每个服务器的SAPI实现都有一套自己的实现。由于很多操作都是相同的,所以有一部分使用的是默认方法。 (3)SAPI类似面向对象中的模板方法模式的应用。 SAPI.c和SAP
后面就先按照这个图所展示出来的内容对Nginx的架构进行一次梳理,文中所涉及到的内容,主要都是针对Linux系统的。
转眼 Swoole 开源项目已经历 8 个年头。这 8 年里,有 116 位开发者为 Swoole 贡献了内核代码。有无数 PHP 开发者为 Swoole 提供 BUG 反馈和改进建议。也有大量 Swoole 用户活跃在 Swoole 的问答社区、SegmentFault Swoole 专栏、QQ/微信技术交流群。在 GitHub 平台也累积了 1.5万 + 的 star。作为 Swoole 的创始人、核心开发者,倍感荣幸。感谢各位开发者为 Swoole 生态所做出的贡献。我们一定会不忘初心,坚持开源。
1. Apache与Nginx大访问下性能描述正确的是? A、Apache所采用的epoll网络I/O模型非常高效 B、Nginx使用了最新的kqueue和select网络I/O模型 C、Apache进程执行PHP、输出HTML都得干,占用的资源多 D、nginx不可以做反向代理服务器 参考答案:C 答案解析: 1、Apache所采用的select网络I/O模型非常低效 2、Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型 3、Apache进程干的事情多:执行PHP、输出HTML都得干,占用的资源就多(CPU、内存) 2.下列哪种PHP运行模式在PHP5.3之后不再支持? A、CGI B、FASTCIG C、ISIPA D、CLI 参考答案:C 答案解析: 在PHP5.3以后,PHP不再有ISAPI模式,安装后也不再有php5isapi.dll这个文件。要在IIS6上使用高版本PHP,必须安装FastCGI扩展,然后使IIS6支持FastCGI。 3.yii小部件描述错误的是? A、小部件是面向对象方式来重用视图代码 B、创建小部件时仍需要遵循 MVC 模式,通常逻辑代码在小部件类,展示内容在视图中 C、小部件设计时应不是独立的,也就是说使用一个小部件时候,不可以直接丢弃它而不需要额外的处理 D、当小部件需要外部资源如 CSS, JavaScript图片等会比较棘手幸运的时候 Yii 提供资源包来解决这个问题。 参考答案:C 答案解析: 小部件设计时应是独立的,也就是说使用一个小部件时候,可以直接丢弃它而不需要额外的处理 4.以下关于结构型模式说法错误的是? A、结构型模式可以在不破坏类封装性的基础上,实现新的功能 B、结构型模式主要用于创建一组对象 C、结构型模式可以创建一组类的统一访问接口 D、结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互 参考答案:B 答案解析: 结构型(structural):处理类或对象间的组合 5.是PHP魔术方法的是? A、__function B、__to C、__line D、__invoke 参考答案:D 答案解析: __construct __destruct __call __callStatic __get __set __isset __clone __unset __sleep __wakeup __toString __invoke __set_state 6.substr函数的作用是? A、查找字符串 B、替换字符串 C、截取字串 D、截取长度 参考答案:C 答案解析: 截取字符串的部分字符串。 7.以下的哪一个数据库产品是采用了 pureXML技术的数据服务器: A、SQL Server B、DB2 C、MySQL D、JSON 参考答案:B 答案解析: 暂无 8.作为一个管理员,你希望在每一个新用户的目录下放一个文件.bashrc, 那么你应该在哪个目录下放这个文件,以便于新用户创建主目录时自动将这个文件复制到自己的目录下。 A、/etc/skel/ B、/etc/default/ C、/etc/defaults/ D、/etc/profile.d/ 参考答案:A 答案解析: /etc/skel/目录是用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下。 这个目录下的所有文件都是隐藏文件(以.点开头的文件)。 9.在MySQL中,可用于创建一个新数据库的SQL语句为() A、CREATE DATABASE B、CREATE TABLE C、CREATE DATABASES D、CREATE DB 参考答案:A 答案解析: A选项正确,创建库语句为:CREATE DATABASE 数据库名。 B选项CREATE TABLE,是创建表的语句。 C和D选项语法错误。 10.关于判断文件类型,以下说法正确的是? A、根据文件的扩展名可以正确判断文件的类型 B、根据文件的特征值可以正确判断文件类型 C、根据文件的大小及特征值可以正确判断文件类型 D、通过任何方法也无法100%确定文件类型 参考答案:D 答案解析: 任何方式都可以伪造,所以我们只能通过方法无限接近,而无法完全保证可以判断正确。 11.在mysql中用a,b,c三个字段建立一个复合索引a_b_c,请问以下哪个查询效率最差? A、select * from test where a=10 and b>50 B、select * from test where a=10 and b>10 order by c C、select * from test where a=10 and b=
1.Microsoft Windows内核'Win32k.sys'本地权限提升漏洞 Microsoft Windows内核'Win32k.sys'本地权限提升漏洞发布时间:2014-03-11漏洞编号:BUGTRAQ ID: 66003 CVE(CAN) ID: CVE-2014-0300漏洞描述:Windows是一款由美国微软公司开发的窗口化操作系统。 Windows内核模式驱动程序没有正确处理内存对象,在实现上存在权限提升漏洞。恶意利用后可导致权限提升并读取任意大小的内核内存。安全建议:Micro
领取专属 10元无门槛券
手把手带您无忧上云