http://b.jtthink.com/read.php?tid=1050
http://b.jtthink.com/read.php?tid=676
我们的第一课开启啦。通过一个热身课程希望大家做好充分的“被颠覆、刷脑”准备。为什么要用centos?很简单,企业里用的比较多。为了赚钱我们要毫不犹豫的选择学习它
很多同学一直觉得Linux命令行是一个高深莫测的东西,并真的以为每个命令都是操作系统来识别的。真的吗?本节课来颠覆大家的三观
上节课我们学会了gcc编译一个程序。然而问题来了,我下载PHP源码编译时然而并不是gcc啊。这是为啥呢?这节课来深度剖析。
为了后面的学习,这节课我们不得不先学个命令模式下的vi使用。学会后,立马用它来继续学习我们的C知识。譬如"噩梦般"的指针,用实战思维来学习一点不难
很多web程序员甚至是有些经验的程序员都并不是十分理解依赖是怎么回事。为什么装一个软件还需要这么多的依赖库要另外安装?看完这堂课,你也许就明白了。
我们以前下载的软件都需要执行make,然后还要make install。既然make 我们已经知道怎么玩了。那么make install又是什么鬼?
本节课我们用最简单的c语言模拟Linux命令实现的功能。并创建一个程序叫做"god",未来我们将逐步成为"上帝"。本课时学到的命令有:pwd、echo、mkdir、which
不管是windows还是linux都要用到环境变量。本课时用命令模式和C语言同时对环境变量进行获取和设置
我们在下载第三方软件时,经常很讨厌的被告知要设置环境变量才能运行。心里很烦躁,这节课我们也来装一下逼,自己写个程序,并要求用的人必须设置环境变量才能运行
我们尽可能的通过C语言来模拟Linux原生命令,只有这样才能相对彻底、深入的了解Linux。同时为我们做web开发打下深厚的基础。譬如本课讲到的读取文件
读取文件一直是我们程序员在维护系统如查看日志时的重要技能。其实Linux本身的文件命令还是很强大的,但是如果稍作创新自己也能模拟或超越Linux自带的命令。就看你愿意不愿意
我们访问网站,中间隔了一个浏览器。否则你以为能直接访问网站?同样,shell也是隔在操作系统和我们之间的桥梁。那么浏览器有javascript,那么shell也有脚本。本节课开始快速入门
假设我们做了一个很屌的软件,为了加强用户体验,我们肯定要写一个shell脚本文件对软件进行初始化。本课时假设做一个日志文件的初始化,通过模拟需求来学习shell脚本的条件语句和变量赋值
如果我们做了一个很屌的软件,要实现在线更新。那么使用shell脚本来完成是再好不过了。本节课模拟一个最简单的功能,自动下载和文件读取。其中学到了wget命令和sed命令。
如果我们做了一个很屌的软件,每次运行时需要自动到网上去匹配版本。如果版本小则需要下载更新包。本课时学到curl工具初步。并讲解如何简单获取网页上的功能。后面的课时还会继续深化使用
有时我们从网上下载的软件如apache,会自动创建一个用户来运行。那么这到底是为什么呢?我们这两课用一个功能来模拟实现和学习一下。本课学习useradd、userdel、usermod等常用命令
本节课我们要学到1、grep命令 2、stdin参数使得修改密码不提示 3、学会通过$?来判断上一个命令执行状态。灵活使用各种知识点来完成一个功能。
有时候我们下载了软件如apache等,装好后都会写一个启动脚本,让普通用户身份去执行。那么这个脚本该怎么实现呢?本课我们要学到1、su 命令 2、/dev/null黑洞 3、普通用户的环境变量文件等
本节课从学习SSH概念开始,我们发现SSH的概念中有个“守护进程“的说法。那么什么是进程?什么是守护进程?这节课我们先学习普通进程,本课学到ps命令
为什么要了解进程?不管我们是运维人员还是web开发人员,未来对我们的系统进行维护或者开发扩展都会需要进程知识。那么怎么理解多进程呢?上节课我们用C语言创造了一个母猴子,这节课我们来生小猴子
一直有同学很迷惑什么是守护进程。其实往往我们被"守护“两个字给迷惑了。守护进程也是一个普通进程,只不过它抱了一个大腿,那就是Linux的长老进程---init
上节课我们做了一个丑陋的守护进程。那么怎么让它启动的时候比较高端呢?譬如service xxx start。本节课来解开这个疑惑。另外我们在学习过程中却发现了另外一个问题。。。。。
很多学员一直觉得在Linux里执行service xx start是一个很神秘的事情。那么我们这两课就来破破这个逼格。譬如执行service shenyid xxoo 就可以启动我们的服务。本课有点污秽,请谨慎观看。
前面我们通过自定义参数控制进程的启动。这节课我们来正式启动我们自己编写的守护进程。那么如果操作失误导致进程多启动了一个,我们该如何正确的杀掉进程呢?(本节课有思考题)
iptables是Linux里面安全层面很重要的环节,作为web程序员我们应该学到什么程度也是很重要的。这节课我们将随手拉一个apache作为垫背,进行学习iptables的开章。
本节课完成上节课的思考题。同时开始学习netstat相关命令。为后面的python课时做准备
为了更好地理解本章节,本课时开始引入python。演示了常见的使用python的方法。下节课开始将在实战中学习Linux 级python
本节课我们使用python+shell来提高我们的知识水平。这节课开始我们又要学python又要玩shell又要熟悉apache.有压力才会有动力
上节课我们用python模拟访问了网站,那么这节课我们来分析,学习到一些命令如awk、sort、uniq等。分析出访问最高的IP地址
本节课使用python写代码来分析上节课的apache日志。大家可以比对一下,用 shell和python实现相同功能有什么区别,各有什么好处
本节课我们使用python的 urllib2库来学习如何设置响应头,从而在apache日志中看不出我们的请求类型。同时如果我们揪出一个讨厌的请求IP,该怎么办?除了禁止它,还能臭骂它!!! 本节课结合有趣的案例给大家讲解iiptables nat转发
沿着上节课的情节,网站管理员为了防止外部用工具访问,开始做起了防范。然后一开始的手段比较low. 仅仅是做了一个用户登录,也没有做任何加密。于是这节课,我们的python(蓝军)依然可以轻松的来伪造cookie用机器来访问网站
网站管理员(红军)为了再次阻挡python机器访问。又一次做出了防守,这次是用加密cookie的方式来防护。那么为什么要加密。加密有啥具体作用呢?请看视频
这节课蓝军又坐不住了。既然你加密了cookie,我没法篡改,但是我照样有其他办法来搞垮你、锤炼你。于是这节课我们的python用疯狂多线程攻击法来干我们的apache,请看视频
蓝军继续疯狂攻击,把访问线程增加到了3000个。那么这回红军该怎么防护呢?请看本课时情节
本节课开始进入apache应用和优化篇。首先是全手工编译和安装最新的apache。并手动启动。
本节课我们正式开始学习apache的优化篇。首当其冲的是要学习apache的运行模式,对这个了解了 我们才有资格再去学什么配置网站。否则有啥卵用呢?
Apache应用和优化篇(附加课时):编译安装以及重新认识PHP。
上两节课我们手工装好了apache和编译好了PHP。并让PHP以模块的方式嵌入到apache 中。那么加入的配置行我们会发现一个问题,凭啥LoadModule后PHP就能解析?我也想要这样行不行?这节课用web程序员角度帮助大家理解。世界上没啥是不可能的
网上有篇文章叫做吐槽看到过的最操蛋代码,其中有个网友吐槽看到在网站提交部分故意写代码空等一秒,老大说,万一将来用户有需求,可以随时提高一倍性能。好吧,这节课我们索性来实现一下这个操蛋代码。
本节课在前面几课装好PHP后,继续开始学习我们的apache优化。利用python小脚本完成站点测试,本课重点学习的awk命令统计内存
这节课我们学习并使用apache的ab工具来压力测试。测试过程中我们来不断跳转apache的参数,以达到优化状态。注意,调整方法和机器环境有关系,并没有特定的、通用的公式
Apache应用和优化篇(七个):静态网站和动态网站的优化参数、keepalive参数的设置方法
这节课我们来把apache的工作模式更改到worker模式。需要2次重新编译,有些坑视频中踩一踩给大家看。
本课程主要讲述在apache2.4中进行多站点配置的方法。其配置方法和apache 2.2.x版本有不同,有几个坑需要注意。
本课时开始进入mysql应用和优化篇,注意。这一章的角度和mysql专项课程角度不同,是从Linux角度学习mysql。
其实有很多同学踩过这个坑。连不上一定要深入理解为什么连不上,而不是疯狂的百度。否则下次换个原因连不上还是不知道怎么解决
这节课我们开始设计一个场景,只有在场景中学习才是最快的。首先我们要学会使用mysql客户端,话说您真的了解mysql客户端吗?它怎么和shell结合呢?
很多新手在解决这个问题时被网上很多抄来抄去的文章误导。换了其他扩展后依然不会处理。这节课看似简单,不过也许会有很多你不知道的细节在里面(高手绕道)
我们继续带着场景学习。前面的课程我们设计好了简单的商品表和订单表,这节课我们来完成商品排行的实现。在压力较大的系统中,商品的销售排行往往不可能是及时读取的,那么怎么做呢?今天讲第一种方法
上节课我们使用了shell+mysql客户端使用SQL语句的方式来完成,这节课我们几乎不使用SQL语句。而是纯爷们的干一次纯shell脚本来完成销量排行
本课主要演示了在shell中如何通过mysql客户端,批量杀掉“僵尸”连接,以释放服务器资源
mysql作为我们系统的核心,有时候我们需要及时得知它是否有效。那么这节课我们用简单的方法来测试一下。请大家思考如何让我们的mysql"变得不可用呢?"
上节课我们做了一个简单的脚本来判断mysql是否可用。如果不可用则重启。但是如果你想更好的呵护mysql,你首先得知道怎么破坏它。这节课我们来手撕mysql,使其无法连接。并且通过定时任务的方式每隔一分钟检测一下。
我们在前面的课程配置了3306作为端口启动mysql实例,如果此时我们资金紧张,又想同时再启动1个或多个实例该怎么办?
本节课开始学习redis。要用好redis远没有大家想的那么简单。请不要跳课学习。本课讲解手工安装和有技巧的学习方法。
我们要设计一个实战需求来配合学习才能学得更好。这节课我们设计一个网站在线人数实现的需求。
上节课我们无脑的实现了用户登录后插入数据进redis.这样我们只需执行hlen就可以获知在线人数。但是如果用户长时间无请求或死机了或昏厥过去了,怎么剔除这些数据呢?本节课我们用shell+redis来处理,纯爷们
本节课我们来简单学习set数据类型,并介绍相关的应用场景
redis可以实现非常强大的消息队列功能。在这之前我们要先把另外一个数据类型sorted set给学了。
本节课讲解第一种简单的方法。用PHP在网页上发起任务队列,然后利用shell来获取后模拟处理。目前是单点处理,后面会讲到"抢任务“的情况
PHP如果用的好,完全可以在某些层面上代替python。这节课我们来讲一下如何使用PHP开发多进程程序。从而为下节课进一步学习php+redis处理队列做准备
这节课我们学会使用PHP完成多进程的 redis队列调用。代码有点多,大家可以下载后根据视频提示点应用到实际项目中。
本章是本课程的最后一章。开始从web角度学习Nginx的基本应用。
这节课我们来初步学习一下Nginx反向代理php+apache。为什么要怎么做?很大一部分原因和省钱有关
Nginx负载均衡PHP+Apache的最简单配置学习。和“所谓的”session共享到底是什么?
本课程是面向web程序员应该学习的Linux基础课程。后续还会根据一些专项知识点开专门的中级课程,敬请期待。
问:为什么有的课程会涨价?
答:课程刚开始更新时是比较便宜的,随着课时的增多会逐步涨到原价
问:课程价格是每节课都要这么多钱?
答:课程价格是指该课程下面所有课时的总价,
问:为啥有课程最后显示课时正在更新?
答:说明我们的讲师还在录制中
问:购买课程后能看多久?
答:终身在线观看