nginx = ngin +x , engine x : ngin 先后四个, n,php
在配置 自定义编译安装软件的时候,
./configure 命令的选项
--with-http_stub_status_module: 使用with的时候, 表示的是启用 某个特征功能, with和后面的单词用 横线链接, 然后面的单词要用下划线书写, 一般with 后不须要写等号和内容
--prefix=..., 和 --user=... 等, 不是由with引导的选项, 要写等号和内容.css
pcre: 跑车热, pc, re: 热, 表示的是perl兼容正则表达式. 若是你不须要使用正则表达式, 你能够不安装pcre, 可是因为httpd 或 nginx要 进行 地址重写rewrite的时候, 就须要正则表达式模块;
而zlib和 zlib-devel 是用来 提供 压缩和 解压缩的函数和 类 及 数据结构等.
而nginx 和 httpd 的编译安装和配置 跟 httpd差很少.html
./configure --with-prce --prefix=/usr/local/nginx --user=www
等等前端
为何要使用代理服务器和反向代理服务器?
由于若是你的机器直接向目标服务器发送请求, 你的请求可能会被fw给拒绝. 若是向代理服务器发送请求,由代理服务器代替你发送请求并返回你的请求结果.
代理服务器的目的是让 内网机器 访问 外网的服务器;
而反向代理服务器 是当外网 机器访问 内网的 服务器时, 为了保护 内网的 内容服务器 的安全, 可让外网机器 先访问 反向代理服务器, 而后让 反向代理服务器来向 内网的内容服务器发送请求...linux
nginx能够作web服务器, 反向代理服务器, 或邮件服务器. 由于nignx的内存占用少, 并发能力很高.ios
/usr/sbin/nologin: 是一个命令, 表示"不能登陆"一般是一些内置用户才会使用这个shell进行登陆.nginx
poll是"选举,投票,民意测验"等, 在linux内部编程的时候, 表示的是io事件队列.
最开始使用的是select,而后是poll, 而后是 epoll, 它是linux内部网络编程时好比httpd, nignx等网络编程时的 系统调用函数
好比: int epoll(struct epoll(), struct epollfd...)
包括 #include <epoll.h>, epoll包括三个部分, epoll.create, epoll.ctl, epoll.wait等c++
用0~9来表示10个预约义的句柄, 0: 表示标准输入.. . 而要在重定向中, 引用 某个句柄的时候, 则要使用 & 表示 引用. 并且这个句柄的 重定向命令能够直接放在 前面的命令后面. 好比:
ls a_dir 2>&1web
重定向和管道的区别?
管道是表示 链接的 先后 两个命令 | 先后必须都是命令, 表示前一个命令的输出, 做为 下一个命令 的输入.
而重定向后面是一个文件, 不是命令, 表示命令的输出结果到某个文件, 或表示命令的来源是某个文件. 重定向关联的是 文件,不是命令.正则表达式
dup和dup2函数, 是linux内部编程要使用的 系统调用函数, 包含在 unistd.h 即除了 c的标准头文件外, 还有unix自身使用的头文件.是将一个文件描述符复制成另外一个数值.
script:
typescript: 打字稿, 用打字完成的稿子.
script会将shell session的结果所有记录下来, 输入在 默认的 typescript文件中.
script: -a 是表示将信息append到一个文件中, 默认的文件名是 typescript, 也能够指定文件名 -a foo.spt
-t 表示记录时间time信息, 默认的是将 时序信息记录到 错误error句柄, 因此须要重定向: -t 2>time.info
rpm -aq | grep 'openssl-devel'
要是严格的整个单词进行匹配的话 , 使用 -w选项: grep -w ....gcc, gcc-c++ , gcc的库包: libgcc等一般也是被安装的
nginx.org , zlib.org -> zlib.net , pcre.org
mainline是"主力, 主线"版本, 是当前正在作的, 正在开发的版本, 至关于开发版
stable是最新的稳定版, 建议在生成环境中使用部署
legacy是之前的 稳定的老版本.
后面的命令中的 路径 都是相对于 当前 路径 pwd 而言的. 好比:
[foo@localhost b]$ su -c 'cp ab /opt' Password: [foo@localhost b]$ pwd /home/foo/Downloads/a/b 那么 上面的那条 命令 就是将 当前 的 a/b路径下的 ab文件 拷贝到 /opt中
关于linux下文档的命名技巧, 最好是用 英文字母开头, 中间能够有包含汉字. 这样在使用 自动补全的时候, 能够只经过输入英文字母就能够补全 搜索到了
好像, 在vim中进行设置的 命令, 都是以set开头的, 尚未 不是 以set开头的命令, 除了map映射.
1 mvc不是哪个框架所臆想出来的, 而是经过总结网站的结构, 开发过程而提出的规律.由于网站
的业务逻辑是经过后台即controller控制器来实现的, 它只有一个目的和做用, 就是: 得到变量
或数据的值, 获得经过业务逻辑的过程的数据.
2 视图view, 实际上就是模板, 也就是传统开发中的前台页面, 只不过不是用html结尾的, 而是用
tpl结尾的. 他就是用来表现/显示数据的. 就是把后台的业务逻辑数据 (经过 传递参数的方式, 以动态变量的 方式传递到前端页面),
而后, 前端页面/ 网页中, 在 关键 位置, 把 后台 传递 过来的 参数 /变量 嵌入 页面 中 显示出来. 你能够经过不一样的方式/样式来呈现, 这个不一样的样式就是css,
它只是对数据的装饰打扮同样. 而数据自己其实仍是那一个/同一个.
3
4 模块module就是数据库, 不管是前台仍是后台的基石都是数据库, 数据都是存储在数据库中的
5
FQDN: fully qualified domain name. 彻底限定域名, 全称域名, 全程域名, 全域名, 是 主机名+域名. 是主机名的完整表示, 表示了主机在整个域名树中的位置.
qualify: v. 使...有资格, 使合格; 限定, 限制. fqdn: 就是彻底限制域名, 就是说这个主机名经过域名就彻底限定了. 是惟一肯定的了.
要修改主机名? 设置/修改本地机器的域名?
三种方法:
echo '127.0.0.1 foo.bar.com' >> /etc/hosts
这时候,访问你添加的本地域名就能即时生效其实, ROOT_PATH自己就是用 define('ROOT_PATH', dirname(__FILE__)) ;
来定义的. dirname是php语言自己所提供的一个函数, 给出当前文件所在的 绝对路径字符串.
若是在某些页面中, 不能使用这个路径, 多是由于 定义 ROOT_PATH的文件 没有被 包含到? 这时你就只好直接些dirname了.
其实, 在tp开发中, 为了表示 某个文件的路径,(是绝对路径) 有多种方法 , 你能够直接写dirname... 只是这种写法看起来不"高大上"(实际上是同样的), 若是用 预先定义好的路径常量, 可能看起来 1. 要简洁些, 2. 要更明确些, 一看就知道其 "语义" , 好比 APP_PATH, ROOT_PATH
都是同样的 : 对于一个 字符序列, 只有多是三种状况: 一是变量, 二是常量, 三是 字符串; 因此, 若是你不能说出它是 变量名, 也说不出是常量, 那么它就只能是 字符串了. 既然是字符串, 那就该用 单引号了!
并非指 css名称能够变化, 在定义 css的样式的时候, 它必须是肯定的.
所谓css 随外在条件的变化而不一样, 是指: 在 模板文件中, 咱们能够在 if结构中, 根据外在条件, 来指定 class 类的名字 . 也就是说, 若是条件不一样, class类的名字就不一样, 或者class类的名字 是一个 变量 字符串...
正则表达式中的括号有两个做用, 一个是分组便于后面的反向引用;二是便于理解和查看, 这时即便没有反向引用也能够这样作
正则中的点号, 表示 除了 回车符以外的 任意字符
所以, 要表示 点号自己, 就须要用 转义: 反斜杠 .
nginx和apache都支持rewrite, 首先都须要安装 pcre包, 由于这个正则包提供了rewrite地址重写的正则匹配功能, 好比: ~, ~, !~ , !~
rewrite的设置包括:
set 设置变量
if 根据条件知足时肯定 正则重写功能, 条件运算符包括: =, !=, ~ (正则匹配)等
return 返回
rewrite: rewrite语句的格式包括: 正则表达式 替换地址 标志
其中, 标志有四种:
break, 表示替换后的地址是最终地址了, 再也不进行正则检查
last,表示替换后的地址是最后地址,可是还能够继续进行正则替换
redirect, 表示临时性的重定向302
permanent, 表示永久性的重定向301
rewrite的重写有一个特色,是能够进行重复、递归的正则替换检查和重写, 即正则后的地址还能够进行正则替换
301和302重定向主要是针对搜索引擎,爬虫,seo网站优化和排名等
搜索引擎一般对302(临时性)重定向不友好, 302重定向被认为是k站,黑帽优化,会影响网站的排名;
规范化的重定向,是发生在 网站域名发生变化/更改的场合,使用301重定向,搜索引擎会把原网站的权重、排名等通通转移到新的域名。
linux系统这一些经常使用的工具包,好比libxml, libxml2等, 这些包一般是 用C语言写的, 用来提供了一些操做xml文档(中的节点等 xpath等)、档案的函数、 类、 和数据类型等。
这些基础的通用包, 每每被不少应用软件如php, apache,nginx等所依赖。
linux中配置文件的格式, [key] symbol [value]
其中的symbol有多种方式, 有的是用空格, 有的是用等号,有的是用冒号, 有的是用大括号, 主要是看你的解释器的写法。
有三个地方修改、配置你的本地机器的域名:
hostname,
/etc/sysconfig/network
/etc/hosts
先后台的设计, 都是基于数据库的, 后台的内容模块包括:
最后, 表建立好了, 字段增长好了, 你要把这些字段的详情 用一个表格列出来, 同时在这个表格中, 你应该有对 每一个表、每一个字段的能够操做的(如编辑、删除等)button连接
后台管理系统中, 还应该有关于前台 页面的 生成方式, 以及一些图片的上传 处理、规定表单等。
proxy_pass 127.0.0.1 ...
时, 一般只需加密 从客户端到代理服务器 这一段的内容,使用ssl(或openssl协议)采用https 访问, 而从代理服务器到内网的内容服务器, 能够不用加密不使用ssl, 这样不会损害性能performance(表现)。若是使用的是 x86_64位的chrome安装包rpm, 也就须要64位的 c++和库: libstdc++.so(64bits)...
chromium是开源的,而chrome则不是开源的.
chromium是开发版,是试水的, 几个小时就有新版本出现? 金丝雀版->dev版->beta版->stable版.
Rlogin: remote login, 是unix系统上的主机之间的 远程登陆.因此在linux和win上比较少见
若是你在安装linux/unix等系统的机器 跟前 经过控制台进行登陆, 叫本地登陆. 其实都没有必要,能够经过 网络, 实现远程登陆. 远程登陆的仍是 机器的 shell, 控制台.
ssh: 是 secure shell 安全的shell壳 安全的终端.
ssh跟telnet和rlogin相比, 两个优势, 一个是它是对 用户名和密码进行了加密的,不像telnet和rlogin是明文, 可能会被截获产生dns欺骗和ip欺骗. 第二他对终端传输的数据内容进行了压缩和解压缩.
putty: [pati],或读[puti].
linux服务器自己一般都开启了ssh server 服务.
而终端只要有ssh的终端软件, 经过ssh协议均可以登陆到服务器的shell上. 这种ssh client软件不少. 像 linux(本身就自带ssh客户端, 直接用 ssh linux_server_ip就能够了), xshell, putty, secureCRT等.并且这些软件一般 还不仅是 只支持 ssh协议, 还包括支持 telnet, rlogin, serial等 远程登陆协议.
ecs: elastic compute service: 可伸缩计算服务. 就是web server服务. 云服务器所使用的操做系统可能在不一样的时期不一样的地区都有所不一样,好比有debian, centos等
开源不等于免费, 虽然都是free.
开源是为了保证代码的质量 "要多少双眼睛才能驯服复杂性?"
而收费主要是针对 企业用户的 服务.
连贯, 一致. cohere [k2u' hi2]: 先后连贯, 先后一致, 粘接... n. co'herence: the varous elements of the novel fail to cohere. has a surprising sense of coherence.
livecd livedvd bindvd的各版本的区别?
bin-dvd是硬盘安装版, 必需要安装到硬盘主机上才能使用; live是活的, 现场直播的, 是刻在光盘上的, 能够直接从光盘上启动, 免安装的. livecd和livedvd的区别只是前者的体积更小, 更易于维护
下载centos的地方不少:
好比: www.centoscn.com/centosSoft/isos
, 这个中文站
mirrors.163.com
国内的开源镜像站
vault.centos.org
centos的保鲜库就是存放以往版本的
iso是镜像, ios是操做系统.
好比 http://vault.centos.org/6.5/isos/i386/
kernel.org
的主机上的. kernel.org是linux开源组织 组件的一个 存储/管理内核的一个组织. 他的主机是: archive.kernel.org/centos-vault/
linux中的包的命名: 用点号来链接各个单词, 若是一个单词由多个部分组成, 中间用横线- 来链接, 好比: centos-6.5-i386-bin-dvd1.iso
centos/rhel的生命周期(即厂家服务支持, 安全更新等)是7年, 甚至能够延长到10年. 而其余ubun server /deb等好像是 18个月, 并且硬件驱动兼容性好(各个主流硬件厂家早就将硬件送到centos, redhat去测试了), 软件也比较多, 没有洁癖, 能够安装/包含非开源软件...
可能在设计和实现的时候, 主要有几个考虑
架构能够变幻无穷,面向需求、综合考量是王道。来,简单举个例子。假设如今咱们要设计一台计算机的处理器部分的架构。如今摆在咱们面前的有两种选择,多个单核CPU和单个多核CPU。若是咱们选择多个单核CPU,那么每个CPU都须要有较为独立的电路支持,有本身的Cache,而他们之间经过板上的总线进行通讯。假如在这样的架构上,咱们要跑一个多线程的程序(常见典型状况),不考虑超线程,那么每个线程就要跑在一个独立的CPU上,线程间的全部协做都要走总线,而共享的数据更是有可能要在好几个Cache里同时存在。这样的话,总线开销相比较而言是很大的,怎么办?那么多Cache,即便咱们不心疼存储能力的浪费,一致性怎么保证?若是真正作出来,还要在主板上占多块地盘,给布局布线带来更大的挑战,怎么搞定?若是咱们选择多核单CPU,那么咱们只须要一套芯片组,一套存储,多核之间经过芯片内部总线进行通讯,共享使用内存。在这样的架构上,若是咱们跑一个多线程的程序,那么线程间通讯将比上一种情形更快。若是最终实现出来,对板上空间的占用较小,布局布线的压力也较小。看起来,多核单CPU完胜嘛。但是,若是须要同时跑多个大程序怎么办?假设俩大程序,每个程序都好多线程还几乎用满cache,它们分时使用CPU,那在程序间切换的时候,光指令和数据的替换就要费多大事情啊!因此呢,大部分通常我们使用的电脑,都是单CPU多核的,好比咱们配的Dell T3600,有一颗Intel Xeon E5-1650,6核,虚拟为12个逻辑核心。少部分高端人士须要更强的多任务并发能力,就会搞一个多颗多核CPU的机子,Mac Pro就能够有两颗 单颗多核和多颗单核: 就像你要去公司上班而不是在家里上班同样。去公司上班(多核CPU)的话,资源共享(共享缓存),沟通方便(CPU内数据传输速度远大于总线速度)。 除非信息技术(类比总线)上有突破性进展,不然咱们仍是天天要挤公车去公司上班(多CPU方案没法取代多核
在新的版本中, 使用了应用分组.
之前是使用多个 应用程序, 平级的, 好比最多见的两个独立的应用程序, 前台和后台, Home和Admin.它们是平
级的, 且目录跟tp是在同一个地方.
而如今分组后, Home和Admin是做为 一个大的/总的应用程序 App下的两个应用分组,是两个目录. 而App跟
ThinkPHP是平级的.
NetSarang公司提供安全的 链接解决方案. 主要包括: xshell5, xftp5, xlpd5, xmanager5 都是链接的客户端软件.
为何xmanager没有自带xftp? 实际上, xftp等跟xshell是独立的软件, 须要独立的下载和安装. 可是他们的操做界面(包括菜单/工具栏/设置等都基本上是同样的)
它只是带了 xbrowser, xconfig等, 再xbrowser中能够管理xshell和xftp。
阿里云申请?
idc: internet data center: 网络数据中心, 一般是一些
hacker: 黑客
cracker: 骇客
格式是: service-name port/protocol [aliases...] [ ## comments]