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]