網路開展事業或在網路創業賺錢的第一步:【架設24小時賺錢網站主機】比網頁設計更優先!

感謝您造訪 Linux主機伺服器架設技術基地。 你可進入替你架設主機.影片教你維護頁面,詳細瞭解Linux主機架設及相關技術維護影片教學(完整配套措施),有主機馬上可以架設網站營運,完全無限制!

租用不如自有主機!聰明的網站經營者都選擇架設Linux主機伺服器做為網站運作平台,因功能完整又強大,免費架站程式超多!完全沒有版權問題,超強『防駭客攻擊與入侵』及安全防護可以讓你無後顧之憂。

                    架設主機.影片教你維護: http://por.tw/linux/new-E_learning/index.php

Linux主機伺服器架設技術基地  維護團隊  敬上
瀏覽模式: 普通 | 列表

主機架設方案,所配送的電腦耗電量一年約花費多少成本?

 學員來信問道:
老師您好:
請問您的主機架設方案,所配送的電腦耗電量一年約花費多少成本?(因為我擔心電費問題....)
謝謝!


總教頭回覆:
我的經驗:架設主機後網站掛上Google點擊廣告
結果賺的錢用來付給:家裡的上網費、電費、水費、瓦斯費、大樓管理費、電話費....全部不用錢,還有賺!
所以你不用為『電腦耗電量一年約花費』多少成本煩惱!

總教頭架設之Linux主機,用儀器實際測量數據證明:用電54瓦(超省電!)
比一個100瓦家用燈泡省約一半!比各位一般300瓦的PC電腦省電多多!

attachments/201104/6584384162.jpg

結論:單單上網不架設主機的人是笨蛋!(因為不管你有沒有架設主機,上網費用都是一樣的!)
你現在知道為何要聘請專家幫你架設主機了吧?
架設一台可以賺錢(高效能、不耗電)的主機,要有多方的專要考量

一台Linux主機營運幾年下來,那成本可差大了!
所以勸告網友與學員(不要自己DIY)可以用與高效能是不一樣的!
備註:網友與學員不要寫信來問我如何省電與硬體配備規格!(別想來個撿現成的!)

需要架設主機服務,就是讓專業者整體規劃!

linux下shell的工作原理

linux下shell的工作原理

shell是使用者和Linux操作系統之間的介面。Linux中有多種shell,其中預設使用的是Bash。本章講述了shell的工作原理,shell的種類,shell的一般操作及Bash的特性。   shell是使用者和Linux操作系統之間的介面。Linux中有多種shell,其中預設使用的是Bash。本章講述了shell的工作原理,shell的種類,shell的一般操作及Bash的特性。
什麼是shell
Linux系統的shell作為操作系統的外殼,為使用者提供使用操作系統的介面。它是指令語系、指令解釋程式及程式設計語系的統稱。
shell是使用者和Linux內核之間的介面程式,如果把Linux內核想像成一個球體的中心,shell就是圍繞內核的外層。當從shell或其他程式向Linux傳遞指令時,內核會做出相應的反應。
shell是一個指令語系直譯器,它擁有自己內建的shell指令集,shell也能被系統中其他應用程式所呼叫。使用者在提示符下輸入的指令都由shell先解釋然後傳給Linux核心。
有一些指令,比如改變工作目錄指令cd,是包括在shell內定的。還有一些指令,例如複製指令cp和搬移指令rm,是存在於檔案系統中某個目錄下的單獨的程式。對使用者而言,不必關心一個指令是建立在shell內定還是一個單獨的程式。
shell首先檢查指令是否是內定指令,若不是再檢查是否是一個應用程式(這裡的應用程式可以是Linux本身的實用程式,如ls和rm,也可以是購買的商業程式,如xv,或是是自由軟體,如emacs)。然後shell在搜尋路徑裡尋找這些應用程式(搜尋路徑就是一個能找到可執行程式的目錄清單)。如果鍵入的指令不是一個內定指令並且在路徑裡沒有找到這個可執行檔案,將會顯示一條錯誤訊息。如果能夠完成找到指令,該內定指令或應用程式將被分解為系統呼叫並傳給Linux內核。

shell的另一個重要特性是它自身就是一個解釋型的程式設計語系,shell程式設計語系支援絕大多數在進階語系中能見到的程式元素,如函數、變量、陣列和程式控制結構。shell寫程式語系簡單易學,任何在提示符中能鍵入的指令都能放到一個可執行的shell程式中。
當普通使用者完成登入,系統將執行一個稱為shell的程式。正是shell程式提供了指令行提示符。作為預設值(TurboLinux系統預設的shell是BASH),對普通使用者用「$」作提示符,對超級使用者(root)用「#」作提示符。
一旦出現了shell提示符,就可以鍵入指令名稱及指令所需要的參數。shell將執行這些指令。如果一條指令花費了很長的時間來運行,或是在螢幕上產生了大量的輸出,可以從鍵盤上按ctrl+c發出中斷信號來中斷它(在標準結束之前,中止它的執行)。
當使用者準備結束登入對話程式時,可以鍵入logout指令、exit指令或檔案結束符(EOF)(按ctrl+d實現),結束登入。
我們來實習一下shell是如何工作的。
$ make work
make:***No rule to make target 『work』. Stop.
$
注解:make是系統中一個指令的名字,後面跟著指令參數。在接收到這個指令後,shell便執行它。本例中,由於輸入的指令參數不正確,系統返回訊息後停止該指令的執行。
在例子中,shell會尋找名為make的程式,並以work為參數執行它。make是一個經常被用來編譯大程式的程式,它以參數作為目的來進行編譯。在 「make work」中,make編譯的目的是work。因為make找不到以work為名字的目的,它便給出錯誤訊息表示運行失敗,使用者又回到系統提示符下。
另外,使用者鍵入有關指令行後,如果shell找不到以其中的指令名為名字的程式,就會給出錯誤訊息。例如,如果使用者鍵入:
$ myprog
bash:myprog:command not found
$
可以看到,使用者得到了一個沒有找到該指令的錯誤訊息。使用者敲錯指令後,系統一般會給出這樣的錯誤訊息。
shell的種類
Linux中的shell有多種類型,其中最常用的幾種是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。三種shell各有優缺點。Bourne shell是UNIX最初使用的shell,並且在每種UNIX上都可以使用。Bourne shell在shell寫程式方面相當優秀,但在處理與使用者的互動方面做得不如其他幾種shell。Linux操作系統預設的shell是Bourne Again shell,它是Bourne shell的延伸,簡稱Bash,與Bourne shell完全向後相容,並且在Bourne shell的基礎上增加、增強了很多特性。Bash放在/bin/bash中,它有許多特色,可以提供如指令補全、指令編輯和指令歷史表等功能,它還包括了很多C shell和Korn shell中的優點,有靈活和強大的寫程式介面,同時又有很友好的使用者介面。
C shell是一種比Bourne shell更適於寫程式的shell,它的語法與C語系很相似。 Linux為喜歡使用C shell的人提供了Tcsh。Tcsh是C shell的一個延伸版本。Tcsh內含指令行編輯、可寫程式單詞補全、拼字校正、歷史指令取代、作業控制和類似C語系的語法,它不僅和Bash shell是提示符相容,而且還提供比Bash shell更多的提示符參數。
Korn shell集合了C shell和Bourne shell的優點並且和Bourne shell完全相容。Linux系統提供了pdksh(ksh的延伸),它支援任務控制,可以在指令行上掛起、後台執行、喚醒或終止程式。
Linux並沒有冷落其他shell使用者,還內含了一些流行的shell如ash、zsh等。每個shell都有它的用途,有些shell是有專利的,有些能從Internet網上或其他來源獲得。要決定使用哪個shell,只需讀一下各種shell的聯機說明,並試用一下。
使用者在登入到Linux時由/etc/passwd檔案來決定要使用哪個shell。例如:
# fgrep lisa /etc/passwd
lisa:x:500:500:TurboLinux User:/home/lisa:/bin/bash
shell被列每行的末尾(/bin/bash)。
由於Bash是Linux上預設的shell,本章主要介紹Bash及其關聯知識。
shell指令
指令行c
使用者登入到Linux系統時,可以看到一個shell提示符,標識了指令行的開始。使用者可以在提示符後面輸入任何指令及參數。例如:
$ date
二 11 23 01:34:58 CST 1999
$
使用者登入時,實際進入了shell,它遵循一定的語法將輸入的指令加以解釋並傳給系統。指令行中輸入的第一個字必須是一個指令的名字,第二個字是指令的選項或參數,指令行中的每個字必須由空格或TAB隔開,格式如下:
$ Command Option Arguments
1. 選項和參數
選項是內含一個或多個字母的代碼,它前面有一個減號(減號是必要的,Linux用它來區別選項和參數),選項可用於改變指令執行的動作的類型。例如:
$ ls
motd passwd
$
這是沒有選項的ls指令,可列出現用的目錄中所有檔案,只列出各個檔案的名字,而不顯示其他更多的訊息。
$ ls -l
total 2
-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd
-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd
$
加入-l選項,將會為每個檔案列出一行訊息,諸如資料大小和資料最後被修改的時間。
大多數指令都被設計為可以接納參數。參數是在指令行中的選項之後鍵入的一個或多個單詞,例如:
$ ls -l text
-rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd
-rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd
$
將顯示text目錄下的所有檔案及其訊息。
有些指令,如ls可以帶參數,而有一些指令可能需要一些最小數目的參數。例如,cp指令至少需要兩個參數,如果參數的數目與指令要求不符,shell將會給出出錯訊息。例如:
$ cp -i mydata newdata
注意:指令行中選項先於參數輸入。
2. 指令行特徵
指令行實際上是可以編輯的一個文字緩沖區,在按換行之前,可以對輸入的文字進行編輯。比如利用BACKSPACE鍵可以刪除剛鍵入的字元,可以進行整行刪除,還可以插入字元,使得使用者在輸入指令,尤其是複雜指令時,若出現鍵入錯誤,無須重新輸入整個指令,只要利用編輯操作,即可改正錯誤。
利用上箭頭可以重新顯示剛執行的指令,利用這一功能可以重複執行以前執行過的指令,而無須重新鍵入該指令。
bash儲存著以前鍵入過的指令的清單,這一清單被稱為指令歷史表。按動上箭頭,便可以在指令行上逐次顯示各條指令。同樣,按動下箭頭可以在指令清單中向下搬移,這樣可以將以前的各條指令顯示在指令行上,使用者可以修改並執行這些指令。這一特徵將在10.4節中進行詳細的論述。
在一個指令行中還可以置入多個指令,用分號將各個指令隔開。例如:
$ ls -F;cp -i mydata newdata
也可以在幾個指令行中輸入一個指令,用反斜槓將一個指令行持續到下一行。
$ cp –i
mydata
newdata

上面的cp指令是在三行中輸入的,開始的兩行以反斜槓結束,把三行作為一個指令行。
shell中的特殊字元
shell中除使用普通字元外,還可以使用一些具有特殊含義和功能的特殊字元。在使用它們時應注意其特殊的含義和作用範圍。下面分別對這些特殊字元加以介紹。
1. 通配符
通配符用於模式符合,如檔名符合、路經名搜尋、字串搜尋等。常用的通配符有*、?和括在方括號〔 〕中的字元序列。使用者可以在作為指令參數的檔名中包括這些通配符,構成一個所謂的「模式串」,在執行過程中進行模式符合。
* 代表任何字串(長度可以不等),例如:「f*」符合以f打頭的任意字串。但應注意,檔名前的圓點(.)和路經名中的斜線(/)必須顯式符合。例如「*」不能符合.file,而「.*」才可以符合.file。
? 代表任何單個字元。
〔〕 代表特殊的一個字元範圍,只要檔名中〔〕位置處的字元在〔〕中特殊的範圍之內,那麼這個檔名就與這個模式串符合。方括號中的字元範圍可以由直接給出的字元組成,也可以由表示限定範圍的起始字元、終止字元及中間的連字元(-)組成。例如,f 〔a- d〕 與f 〔abcd〕的作用相同。Shell將把與指令行中特殊的模式串相符合的所有檔名都作為指令的參數,形成最終的指令,然後再執行這個指令。
下面我們給出表10-1說明這些通配符的具體含義。
表10-1 通配符含義舉例
模式串
意 義
*
現用的目錄下所有檔案的名稱。
*Text*
現用的目錄下所有檔名中包括有Text的檔案的名稱。
〔ab-dm〕*
現用的目錄下所有以a、b、c、d、m開頭的檔案的名稱。
〔ab-dm〕?
現用的目錄下所有以a、b、c、d、m開頭且後面只跟有一個字元的檔案的名稱。
/usr/bin/??
目錄/usr/bin下所有名稱為兩個字元的檔案的名稱。
特別需要注意的是,連字元「-」僅在方括號內有效,表示字元範圍,如在方括號外面就成為普通字元了。而*和?只在方括號外面是通配符,若出現在方括號之內,它們也失去通配符的能力,成為普通字元了。例如,模式「- a〔*?〕abc」中只有一對方括號是通配符,*和?均為普通字元,因此,它符合的字串只能是- a*abc和- a?abc。
最後說明一下使用通配符時需要注意的一些問題。由於*、?和〔〕對於shell來說具有比較特殊的意義,因此在標準的檔名中不應出現這些字元。特別是在目錄名中不要出現它們,否則Shell符合起來可能會無窮的遞歸下去。另外要注意的一點是:如果目錄中沒有與特殊的模式串相符合的檔名,那麼Shell 將使用此模式串本身作為參數傳給有關指令。這可能就是指令中出現特殊字元的原因所在。
2. 引號
在shell中引號分為三種:單引號,雙引號和反引號。
* 單引號 『
由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。例如:
$ string=』$PATH』
$ echo $string
$PATH
$
可見$保持了其本身的含義,作為普通字元出現。
* 雙引號 「
由雙引號括起來的字元,除$、、』、和」這幾個字元仍是特殊字元並保留其特殊功能外,其餘字元仍作為普通字元對待。對於$來說,就是用其後特殊的變量的值來代替這個變量和$;對於而言,是轉義字元,它告訴shell不要對其後面的那個字元進行特殊處理,只當作普通字元即可。可以想見,在雙引號中需要在前面加上的只有四個字元$,,』和」本身。而對」號,若其前面沒有加,則Shell會將它同前一個」號符合。
例如,我們假定PATH的值為.:/usr/bin:/bin,輸入如下指令:
$ TestString=」$PATH」$PATH」
$ echo $TestString
.:/usr/bin:/ bin」$PATH
$
讀者可以自己試一下在第二個雙引號之前不加會產生什麼結果。

* 反引號 `
反引號(`)這個字元所對應的鍵一般位於鍵盤的左上角,不要將其同單引號(』)混淆。反引號括起來的字串被shell解釋為指令行,在執行時,shell首先執行該指令行,並以它的標準輸出結果取代整個反引號(內含兩個反引號)部分。例如:
$ pwd
/home/xyz
$ string=」current directory is `pwd`」
$ echo $string
current directour is /home/xyz
$
shell執行echo指令時,首先執行`pwd`中的指令pwd,並將輸出結果/home/xyz取代`pwd`這部分,最後輸出取代後的整個結果。
利用反引號的這種功能可以進行指令置換,即把反引號括起來的執行結果賦值給指定變量。例如:
$ today=`date`
$ echo Today is $today
Today is Mon Apr 15 16:20:13 CST 1999
$
反引號還可以嵌套使用。但需注意,嵌套使用時內層的反引號必須用反斜線()將其轉義。例如:
$ abc=`echo The number of users is `who| wc-l``
$ echo $abc
The number of users is 5
$
在反引號之間的指令行中也可以使用shell的特殊字元。Shell為得到``中指令的結果,它實際上要去執行``中特殊的指令。執行時,指令中的特殊字元,如$,」,?等又將具有特殊含義,並且``所包括的可以是任何一個合法的Shell指令,如:
$ ls
note readme.txt Notice Unix.dir
$ TestString=」`echo $HOME ` ` ls 〔nN〕*`」
$ echo $TestString
/home/yxz note Notice
$
其他情況,讀者可自行試之。
1. 注解符
在shell寫程式中經常要對某些正文行進行注解,以增加程式的可讀性。在Shell中以字元「#」開頭的正文行表示注解行。
此外還有一些特殊字元如:用於輸入/輸出重定向與管道的、 >和|;執行後台指令的&;指令執行操作符&&和||及表示指令組的{}將在下面各小節中加以介紹。
標準輸入/輸出和重定向
1. 標準輸入與輸出
我們知道,執行一個shell指令行時通常會自動開啟三個標準檔案,即標準輸入檔案(stdin),通常對應終端的鍵盤;標準輸出檔案(stdout)和標準錯誤輸出檔案(stderr),這兩個檔案都對應終端的螢幕。程式將從標準輸入檔案中得到輸入資料,將標準輸出資料輸出到標準輸出檔案,而將錯誤訊息送到標準錯誤檔案中。
我們以cat指令為例,cat指令的功能是從指令行給出的檔案中讀取資料,並將這些資料直接送到標準輸出。若使用如下指令:
$ cat config
將會把檔案config的內容依次顯示到螢幕上。但是,如果cat的指令行中沒有參數,它就會從標準輸入中讀取資料,並將其送到標準輸出。例如:
$ cat
Hello world
Hello world
Bye
Bye

$
使用者輸入的每一行都立刻被cat指令輸出到螢幕上。
另一個例子,指令sort按行讀入檔案正文(當指令行中沒有給出檔名時,表示從標準輸入讀入),將其排序,並將結果送到標準輸出。下面的例子是從標準輸入讀入一個採購單,並將其排序。
$ sort
bananas
carrots
apples

apples
bananas
carrots
$
這時我們在螢幕上得到了已排序的採購單。
直接使用標準輸入/輸出檔案存在以下問題:
輸入資料從終端輸入時,使用者費了半天勁輸入的資料只能用一次。下次再想用這些資料時就得重新輸入。而且在終端上輸入時,若輸入有誤修改起來不是很方便。
輸出到終端螢幕上的訊息只能看不能動。我們無法對此輸出作更多處理,如將輸出作為另一指令的輸入進行進一步的處理等。
為了解決上述問題,Linux系統為輸入、輸出的傳輸引入了另外兩種機制,即輸入/輸出重定向和管道。
2. 輸入重定向
輸入重定向是指把指令(或可執行程式)的標準輸入重導至特殊的檔案中。也就是說,輸入可以不來自鍵盤,而來自一個特殊的檔案。所以說,輸入重定向主要用於改變一個指令的輸入源,特別是改變那些需要大量輸入的輸入源。
例如,指令wc統計指定檔案包括的行數、單詞數和字元數。如果僅在指令行上鍵入:
$ wc
wc將等待使用者告訴它統計什麼,這時shell就好像死了一樣,從鍵盤鍵入的所有文字都出現在螢幕上,但並沒有什麼結果,直至按下<ctrl+d>,wc才將指令結果寫在螢幕上。
如果給出一個檔名作為wc指令的參數,如下例所示,wc將返回該檔案所包括的行數、單詞數和字元數。
$ wc /etc/passwd
20 23 726 /etc/passwd
$
另一種把/etc/passwd檔案內容傳給wc指令的方法是重定向wc的輸入。輸入重定向的一般形式為:指令this text forms the content
>of the here document,which
>continues until the end of
>text delimter
>delim
4 17 98
在檔名。例如:
$ ls > directory.out
$ cat directory.out
ch1.doc ch2.doc ch3.doc chimp config mail/ test/
$
將ls指令的輸出儲存為一個名為directory.out的檔案。
註:如果>符號後邊的檔案已存在,那麼這個檔案將被重寫。
為避免輸出重定向中指定檔案只能存放現用的指令的輸出重定向的內容,shell提供了輸出重定向的一種追加手段。輸出追加重定向與輸出重定向的功能非常相似,區別僅在於輸出追加重定向的功能是把指令(或可執行程式)的輸出結果追加到指定檔案的最後,而該檔案原有內容不被破壞。
如果要將一條指令的輸出結果追加到指定檔案的後面,可以使用追加重定向操作符>>。形式為:指令>>檔名。例如:
$ ls *.doc>>directory.out
$ cat directory.out
ch1.doc ch2.doc ch3.doc chimp config mail/ test/
ch1.doc ch2.doc ch3.doc
$
和程式的標準輸出重定向一樣,程式的錯誤輸出也可以重新定向。使用符號2>(或追加符號2>>)表示對錯誤輸出裝置重定向。例如下面的指令:
$ ls /usr/tmp 2> err.file
可在螢幕上看到程式的標準輸出結果,但又將程式的任何錯誤訊息送到檔案err.file中,以備將來檢查用。
還可以使用另一個輸出重定向操作符(&>)將標準輸出和錯誤輸出同時送到同一檔案中。例如:
$ ls /usr/tmp &> output.file
利用重定向將指令組合在一起,可實現系統單個指令不能提供的新功能。例如使用下面的指令序列:
$ ls /usr/bin > /tmp/dir
$ wc –w

微軟WindowsInternet Explorer瀏覽器可能被駭客盜取個人資料或接管電腦

網友的電腦最基本的用途就是:上網!
然而微軟公司發布有關「視窗」作業系統的重大安全瑕疵警告
新發現的「視窗」作業系統瑕疵,可能被駭客用來盜取個人資料或接管電腦。
還是別再用Internet Explorer瀏覽器了吧!
換用FireFox、Google Chrome和Safari的瀏覽器(一樣不用花錢購買,免費!)
何必因為作業系統是:微軟Windows就一定要用Internet Explorer瀏覽器?


以下是今天新聞的全文引用:
--------------------------------------------------------

微軟視窗瑕疵 9億用戶遭殃
聯合 更新日期:"2011/02/02 10:26" 編譯田思怡/報導

微軟公司發布有關「視窗」作業系統的重大安全瑕疵警告,將影響全球9億Internet Explorer瀏覽器的用戶。

微軟表示,新發現的「視窗」作業系統瑕疵,可能被駭客用來盜取個人資料或接管電腦。

這個瑕疵很嚴重,可能影響所有Internet Explorer用戶。在找出永久解決辦法前,微軟建議用戶下載安全更新(security patch)。

FireFox、Google Chrome和Safari並未受到影響,這些軟體和Internet Explorer不同,並不支持MHTML檔,而這也正是問題所在。

這個安全漏洞只會影響Internet Explorer對一些網頁的處理方式。

主機伺服器平台(Linux 與 Windows)有何不同?該如何選擇?

主機伺服器的平台(Linux 與 Windows)有什麼不一樣,該如何選擇?

其實討論的再多,了解的人都會知道,Linux的平台是比較受到歡迎而且市占率最高的一種系統平台。
因此總教頭的建議:如果您的網頁是用微軟的程式語言開發的網站,或是您必須使用微軟開發的資料庫服務(MS SQL),只能使用 Windows系統的平台的話,那您就無從選擇,您就使用 Windows+IIS的虛擬主機服務商吧,
否則建議使用 Linux的虛擬主機平台服務。

所有由 Linux系統建立起的主機平台,因為 Linux系統本身就是所謂的開放源碼,遵循的是開放源碼的公約,不論任何人使用都是免費的。
虛擬主機服務商如果使用這樣的系統平台,和 Windows NT或是 IIS是以註冊人數的多寡計費,相較起來對虛擬主機服務商所負擔的成本是天壤之別。
不僅如此,Apache網頁伺服器也是免費的,平台上使用的 Email系統(sendmail)本身免費的,FTP伺服器也是免費的,您會了解到 Linux平台的虛擬主機成本比 Windows平台的虛擬主機成本便宜非常多!

不僅如此,Linux最被人稱讚的地方是系統核心簡單而且速度快,並且是一個原本就為了架構於多 CPU運作而生成的系統。
在同樣的硬體條件之下,Linux被認為有更大更快的能力同時處理上千筆不同的需求。
也因為如此,許多免費而且功能強大的軟體也都只適用於 Linux系統。
相對於 Windows系統,Linux平台的虛擬主機可以使用的免費軟體和工具會比 Windows系統更來得多樣。

如果您的網站只是一般的靜態網頁,那總教頭建議使用 Linux系統。
如果您的網站使用 PHP,Perl,mySQL,總教頭建議使用 Linux系統。
如果您的網站使用 ASP,VBScript,MS-SQL,那總教頭建議改成別的程式語言,來用 Linux系統吧,如果不改,那就使用 Windows平台囉!

虛擬主機(次網域)設定

虛擬主機(次網域)設定
虛擬主機這功能,可以為本台電腦底下某個 user 的個人網頁賦予正式的網址。
例如,我們可以把 http://por.tw/~【~的目錄名稱】/ 改成 http://【~的目錄名稱】.por.tw。在改造的過程要完成以下幾件事:

先在修改檔案 etc/bind/db.por.tw(你的網址)
 DNS Server 加一筆DNS 正解記錄:【【~的目錄名稱】.por.tw IN A 113.61.187.47】,與 dns.por.tw 共用相同的 IP。
例如: www.por.tw IN A 113.61.187.47


在 /etc/apache2/sites-available/ 加上 【~的目錄名稱】.por.tw 的站台資料,範例如下 :

建立檔案:【~的目錄名稱】wh2esites-available/【~的目錄名稱】wh2es

<VirtualHost 113.61.187.47>
ServerAdmin 【~的目錄名稱】@por.tw
ServerName 【~的目錄名稱】.por.tw
DocumentRoot /home/【~的目錄名稱】/public_html/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/【~的目錄名稱】/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AddType application/x-httpd-php .php
</Directory>

</VirtualHost>

在 /etc/apache2/sites-enabled/ 底下做鍵結
root@dns: # cd /etc/apache2/sites-enabled/
root@dns: /etc/apache2/sites-enabled/ # ln -s /etc/apache2/sites-available/【~的目錄名稱】wh2es

最後重新啟動 DNS 及 Apache2 Server 啟用新設定值
root@dns: # /etc/init.d/bind9 restart
root@dns: # /etc/init.d/apache2 restart

----------------------------------------------------------------------------------------------------

[MySQL改善] -- 如何使用SQL Profiler 效能分析器

mysql 的 sql 效能分析器主要用途是顯示 sql 執行的整個過程中各項資源的使用情況。分析器可以更好的展示出不良 SQL 的效能問題所在。
下面我們舉例介紹一下 MySQL SQL Profiler 的使用方法:

  • 首先,開啟 MySQL SQL Profiler

mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
| 0 |
+-------------+
1 row in set (0.00 sec)
mysql> SET profiling = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
預設情況下 profiling 的值為 0 表示 MySQL SQL Profiler 處於 OFF 狀態,開啟 SQL 效能分析器後 profiling 的值為 1.

  • 通過 sql 效能分析器,我們來對照一下 下列語句前後 2 次執行過程的差異,對我們瞭解 sql 的詳細執行過程是非常有說明的。

mysql> create table t_engines select * from t_engines1;
Query OK, 57344 rows affected (0.10 sec)
Records: 57344 Duplicates: 0 Warnings: 0
mysql> select count(*) from t_engines;
+----------+
| count(*) |
+----------+
| 57344 |
+----------+
1 row in set (0.00 sec)
mysql> select count(*) from t_engines;
+----------+
| count(*) |
+----------+
| 57344 |
+----------+
1 row in set (0.00 sec)
mysql> SHOW PROFILES;
+----------+------------+-------------------------------------------------+
| Query_ID | Duration | Query |
+----------+------------+-------------------------------------------------+
| 26 | 0.10213775 | create table t_engines select * from t_engines1 |
| 27 | 0.00032775 | select count(*) from t_engines |
| 28 | 0.00003850 | select count(*) from t_engines |
+----------+------------+-------------------------------------------------+
15 rows in set (0.01 sec)
mysql> SHOW PROFILE FOR QUERY 27;
+--------------------------------+------------+
| Status | Duration |
+--------------------------------+------------+
| (initialization) | 0.00000425 |
| checking query cache for query | 0.00004050 |
| checking permissions | 0.00001050 |
| Opening tables | 0.00018250 |
| System lock | 0.00000450 |
| Table lock | 0.00001775 |
| init | 0.00001075 |
| optimizing | 0.00000550 |
| executing | 0.00002775 |
| end | 0.00000450 |
| query end | 0.00000325 |
| storing result in query cache | 0.00000400 |
| freeing items | 0.00000400 |
| closing tables | 0.00000500 |
| logging slow query | 0.00000300 |
+--------------------------------+------------+
15 rows in set (0.00 sec)
mysql> SHOW PROFILE FOR QUERY 28;
+-------------------------------------+------------+
| Status | Duration |
+-------------------------------------+------------+
| (initialization) | 0.00000350 |
| checking query cache for query | 0.00000750 |
| checking privileges on cached query | 0.00000500 |
| checking permissions | 0.00000525 |
| sending cached result to client | 0.00001275 |
| logging slow query | 0.00000450 |
+-------------------------------------+------------+
6 rows in set (0.00 sec)
mysql> SELECT sum( FORMAT(DURATION, 6)) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID =27 ORDER BY SEQ;
+----------+
| DURATION |
+----------+
| 0.000326 |
+----------+
1 row in set (0.00 sec)
mysql> SELECT sum( FORMAT(DURATION, 6)) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID =28 ORDER BY SEQ;
+----------+
| DURATION |
+----------+
| 0.000039 |
+----------+
1 row in set (0.00 sec)
mysql>
從上面的例子中我們可以清晰的看出 2 次執行 count 語句的差別, SHOW PROFILE FOR QUERY 27 展現的是第一次 count 統計的執行過程,包括了 Opening tables 、 Table lock 等操作 。而 SHOW PROFILE FOR QUERY 28 展示了第二次 count 統計的執行過程 , 第二次 count 直接從查詢快取中返回 count 統計結果,通過對照 2 次統計的總執行時間發現,快取讀的速度接近物理讀的 10 倍。通過使用 SQL 效能分析器可以說明我們對一些比較難以確定效能問題的 SQL 進行診斷,找出問題根源。

Linux主機加掛硬碟的方法:

Linux主機加掛硬碟的方法:

若您的 HD 還有其它空間,可按以下方式為之:

假設 hda 為 HD 的設備代碼。

1. 新增分割區

fdisk /dev/hda 再切出一塊分割區(量容請自訂),假設為 hda3;若不是 hda3,請自行變化。

2. 格式化

mke2fs -j /dev/hda3

3. 手動掛載 hda3

mkdir /hda3
mount -t ext3 /dev/hda3 /hda3

4. 把 /var/mail 改到 /hda3

cd /var
cp -Rp mail /hda3
mv mail mail.old
ln -s /hda3/mail mail

這樣 /var/mail 就變成是一個指向 /hda3/mail 的 softlink
等於是擴大了 /var/mail 的容量

5. 測試郵件收發狀況,若正常,就把 /var/mail.old 刪除

6. 設定 /etc/fstab

把以下設定加入 /etc/fstab 中,使開機時能自動掛載:
代碼:

/dev/hda3 /hda3 ext3 defaults 0 2
 

Linux 常用指令使用方法大搜刮

Linux 常用指令使用方法大搜刮

1.# 表示權限使用者(如:root),$ 表示普通使用者
  開機提示:Login:輸入使用者名
  password:輸入密碼   使用者是系統註冊使用者完成登陸後,可以進入相應的使用者環境.
  離開現用的shell,輸入:exit

2.useradd netseek 加入一個netseek使用者
  passwd netseek  給netseek這個使用者設定密碼.
  (/etc/passwd /etc/group)
  userdel netseek 刪除帳號
  userdel -r netseek 刪除帳號連同自家目錄.
  [更詳細的操作請參閱man page,和帳號管理篇]

3.檢視指令
  ls -l                顯示檔案清單
  ls -al        -a 顯示所有檔案及目錄 (ls內定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)
  ls -al |grep '^d'   顯示目錄
  ls -al |grep '^[^d]' 在一個目錄中查詢不包括目錄的所有檔案
  ls -sh        (man ls 檢視man說明.)
 
  linux幾種檔案類型:
  d    表示此檔案是一個目錄
  -    表示此檔案是一個普通檔案
  b    表示此檔案是一個特殊的塊裝置I/O檔案
  c    表示此檔案是一個特殊的字元裝置I/O檔案
  l    表示此檔案是一個連線檔案。在其檔名稱後緊跟與它連線的檔案路徑及名稱

  file 指令通過探測檔案內容判斷檔案類型

4.建立檔案和目錄
  touch 1.txt
  cat > 2.txt (用定向符建立檔案,填寫內容後,按ctrl+d儲存內容)
  mkdir mywork 建立mywork這個目錄

5.複製檔案或目錄
  cp filename1 filename2
  cp -r dir1 dir2 複製目錄
  cp -rf 參數f是刪除已經存在的目的檔案而不提示
  cp -i  參數i和f相反,在覆蓋目的檔案之前將給出提示要求使用者確認,回答y時目的檔案將被覆蓋,是交談式複製.

6.刪除檔案和目錄(刪除檔案或目錄都可以用rm搞定)
  rm 1.c //將1.c這個檔案刪除
  rm -rf (強制刪除檔案或目錄,刪除時不提示.)

7.移走目錄或是改檔名
  mv [opitons] 源檔案或目錄   目的檔案或目錄
  [options]主要參數
  -i:互動模式操作,如果mv操作將導致對已存在的目的檔案的覆蓋,此時系統詢問是否重寫,要求使用者回答「y」或「n」,
     這樣可以避免誤覆蓋檔案.
  -f:禁止互動操作。mv操作要覆蓋某個已有的目的檔案時不給任何指示,指定此參數後i參數將不再起作用。
  mv hello ../ 將hello目錄或是檔案搬移上一級.
 
8.alias 別名
  alias dir='ls -l'   輸入dir,其實就相當於執行了ls -l


9.權限的控制(rwx 421)
  chmod +x hello.sh 賦於可執行權限.
  (詳細介紹一下權限的控制)
  chmod 指令 權限修改 用法:chmod 一位8進位數 filename (rwx 421)
eg: chmod u+x filenmame      只想給自己運行,別人只能讀
  chown netseek.netseek mydir  改變使用者屬組


    u:表示檔案所有者
    g:表示同組使用者
    o:表示其它使用者
    a:表示所有使用者
    opt則是代表操作,可以為:
    +:加入某個權限
    -:取消某個權限
    =:賦予給定的權限,並取消原有的權限
    而mode則代表權限:
    r:可讀 4
    w:可寫 2
    x:可執行 1


10.pwd 顯示現用的目錄完整路徑和改變目錄
  cd netseek 進入netseek這個目錄
  cd 離開現用的目錄
  cd ../ 進入上一級目錄.
  cd - 返回上一次目錄
  cd ~ 返回主目錄

11. cat,more,less 指令
  將某個檔案的內容顯示出來,兩個指令不同的是:cat 把檔案內容一直列印出來,而more則分展顯示.
  less 可以上下翻滾檢視內容.
  cat > 1.txt 可以填寫或是複製內容,按ctrl+d儲存
  cat 1.c
  more 1.c
  head -n filename 顯示第N行的內容
  tail -n filename 顯示後N行的內容
  tail -n 20 /var/log/message 顯示最新的20行日誌

12.設定linux時間和日期
  date 指令("date MMDDhhmmYYYY.ss")
  2006年7月24日12:37 ,30秒
  date 072412372006.30
  date -s 20:30:30 #設定系統時間為20: 30:30
  date -s 2006-7-24 #設定系統時期為2006-7-24
  clock -r #對系統Bios中讀取時間參數
  clock -w #將系統時間(如由date設定的時間)寫入Bios

13.檢視找檔案(find,grep,awk更多的請參照man page或shell寫程式專題講解)
  幾種介紹:
  find 路徑  -name 檔名
  find /etc -name named.conf
  locate 通過檔名搜尋檔案的工具(要先通過updatedb建立索引資料庫)
  localte named.conf
  whereis 是尋找二進位檔案,同時也會找到其說明檔案
  which 和where 相似,只是我們所設定的環境變量中設定好的路徑中尋找;比如;

14.查殺程式
  ps aux
  ps -ef |grep
  kill -9
  看看哪個程式佔用的記憶體最大
  ps -aux|sort +5n

  將程式放在前後台執行
  cp file1 file2 &
  &與ctrl+z 你可以使用&或ctrl+z來將指令放在後台執行.
  fg 是將放在後台執行的程式再放回前台.
  jobs

15.dd指令備份
  dd if="input_file" of="out_file" bs="block_size" count="number"
  參數:
  if:就是input file可以是裝置
  of:就是output file也可以是裝置
  bs:規劃的一個block的大小,如果沒有設定時,預設是512bytes
  count:多少個bs的意思.

  dd if=/etc/password of=/tmp/passwd.bak 備份

16.mount 加載一個硬體裝置
用法:mount [參數] 要加載的裝置 載入點
eg: mount /dev/cdrom
cd /mnt/cdrom //進入光碟目錄
   u盤:
   mkdir /mnt/usb;(註:建立掛載目錄)
   mount /mnt/sda1 /mnt/usb;(註:掛載USB磁碟)
   現在就可以使用USB磁碟了,在/mnt/usb目錄下的內容就是USB磁碟裡的內容了;
   使用完後,用以下指令卸載USB磁碟即可。
   umount /mnt/usb
   mount     列出系統所有的分區
   mount -t iso9660 /dev/cdrom /mnt/cdrom   掛載光碟
   mount -t vfat /dev/fd0 /mnt/floppy       掛載軟碟
   mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2   掛載fat32分區
   mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3         掛載ntfs分區
   Linux-NTFS Project: http://linux-ntfs.sourceforge.net/
   umount /mnt/hda3 卸載
   注:掛載裝置前,請先fdisk -l 看一下.

17.su在不離開登陸的情況下,切換到另一個身份
    用法: su -l 使用者名(如果使用者名預設,則切換到root狀態)
eg:su -l netseek (切換到netseek這個使用者,將提示輸入密碼),加上-表示切換到使用者的環境變量.
   
    sudo 利用他可以執行root執行的權限

18.whoami,id,w,lastlog,users,groups
   w       檢視使用者登陸訊息
   who     檢視現用的登陸使用者
   last    最近一個月使用者登陸情況
   lastlog 檢查某特定使用者上次登入的時間,並格式化輸出上次登入日誌/var/log/lastlog的內容
   whoami  確認自己身份.
   id      列印出自己的UID以及GID.(UID:使用者身份唯一標識.GID:使用者組身份唯一標識.每一個使用者只能有一個唯一的UID和GID.)
   users
   groups  使用者所歸屬的使用者組查詢;
   finger -l netseek root
   finger -s 或是直接finger
   可以讓使用者查詢一些其他使用者的資料
eg: finger //檢視所用使用者的使用資料
finger root //檢視root的資料


19.使用者用過的指令和執行歷史執行的指令
   history 顯示使用者過去命用的指令
   !!執行最近一次的指令

20.uname 檢視linux系統訊息
   參數:-a 所有訊息 -r 版本號 -n 主電腦名

21.建立軟連線
   ln [-sf] source target
   ln souce-file hard-link
   ln -sf source-file soft-link
   s表示軟連線,f表示,若有同名檔案在,則將它覆蓋過去.
   註:硬連結不能為目錄建立,只有檔案才能建立硬連結。

22.檢視目錄
   du -sh   目錄或是檔案
   du -m    du系統預設輸出是以KB,以參數-m表示以MB顯示.
   cat /etc/fstab   檢視分區清單
   fdisk -l  
   df -h
   df -ah

23.檢視linux系統佔用的資源(top,free,uptime)
   top   檢視後台程式,監控系統效能
   top -d 2 每兩秒列新一次
   top -d -2 -p3690 檢視某個PID
   top -b -n 2 >/tmp/top.txt 將top的訊息進行2次,然後將結果輸出到/tmp/top.txt
   
   free -m 檢視系統記憶體使用情況

   uptime  顯示目前系統開機時間(檢視開機多久,多少人登陸,過去1,5,15分鐘系統的負載)


24.檔案比軟體:
   cmp  cmp(「compare」的縮寫)指令用來簡要指出兩個檔案是否存在差異,它的使用權限是所有使用者
   diff diff指令用於兩個檔案之間的比較,並指出兩者的不同,它的使用權限是所有使用者

25.遠端操作與檔案傳輸
   ssh user@remote.machine
   scp user@remote.machine:/remote/path /local/path
   scp /local/path user@remote.machine:/remote/path

26.編譯c/c++檔案
   gcc
   gcc -v 檢視GCC版本
   gcc -o test test.c 2>errfile 編譯test.c時若有錯誤訊息,則將錯誤訊息重導至errfile

27.chattr +i filename 禁止刪除,chattr -i filename 取消禁止
   lsattr 檢視隱藏檔屬性


28.自動化執行
   at 執行一次
   crontab 定時迴圈執行程式
   crontab 介紹
   1 以root登入
   2 # crontab -e
   3 加入一行
   1 */12 * * * /usr/sbin/ntpdate pool.ntp.org
   分鐘 (0-59)
   小時 (0-23)
   日 期 (1-31)
   月份 (1-12)
   星期 (0-6)//0代表星期天


29.關機和重啟:
   shutwond [-t 秒數] [-rkhncff] 時間 [警示訊息]
   -t 秒數:設定在切換至不同的runlevel之前,警示和刪除兩信號之彰間的延遲時間(秒)
   -k 發出警示訊息,但不是真的要shutdown
   -r shutdown這後重新開機
   -h shutdown這後開機
   -n 不經由init,由shutdown指令本身來做開機工作(不建議你使用)
   -f 重新開機時,略過fsck指令,不檢查檔案系統.
   -F 重新開機時,強迫做fsck檢查.
   -c 將已經正在shutdown的動作取消
   shutdown -h now 立刻關機,其中now相當於時間為0,halt,poweroff也可以關機,或是直接init 0
   shutdown -h 20:30  系統將在今晚的8:30關機
   shutdown -h +10    系統再過十分鐘後自動關機.
   shutdown -t3 -r now  立刻重新開機,但在警示和刪除processes這間,
   shutdown -k now  'Hey! Go away! now...' 發出警示訊息,但沒有真的關機.
   
   
   reboot:
   shutdown -r now 幾乎與reboot相同,不關建議用reboot執行如下:
   shutdown -r +30 'The system wiil reboot'
   shutdown -r +10 'Hey!Go away!'  10分鐘後系統重啟.
   #sync; sync; sync; reboot   註:sync將資料同步寫入硬碟
   halt指令相當於shutdown -h now ,表示立刻關機。
   reboot指令相當於shutown -r now ,表示立刻重起。

30.如何改變啟動模式運行層級
   vi /etc/inittab
   將5改成3,啟動後就可以變成字元模式。
   startx 或是 init 5 就可以進入圖形化介面.
   runlevel 顯示現用的運行層級

  如何切換至單使用者模式
  利用telinit或init(其實telinit只是一個synbol link to init)
  telinit 1 或是 init S 即可,當然telinit S也是可以的.

  如何使ctrl+alt+del 三鍵失效的方法
  #vi /etc/inittab
  在ca::ctrlaltdel:/sbin/shutdonw -t3 -r now之前加上注解#
  然後執行#telinit q ,參數q是要telinit重新檢查一次/etc/inittab

31.TAB  巧用tab鍵,當你不知道檔案或指令的全名是請連續按兩下tab鍵.

32.clear 清屏

33.dmesg |more 顯示開機訊息(檢視系統啟動時硬體訊息)
 
34.改變程式執行的優秀級
   nice    設定優先權 nice -n -5 vi & 用root給一個nice值為-5,用於執行vi
   renice  調整已存在優先權

35.模組關聯的指令
   lsmod 顯示已經載入系統的模組
   depmod 分析可載入系統的相依性
   modinfo 顯示kernel模組的訊息
   insmod  載入模組
   modprobe 自動處理可載入模組
   rmmod    刪除模組
 
36.chkconfig --list 顯示各種服務的狀態,利用chkconfig可以輕鬆管理init腳本.

37.linux的幾種解壓縮指令
   compress aaa  將aaa檔案壓縮成為aaa.Z
   compress -d aaa.z 將aaa.z檔案壓縮成aaa
   
   gzip aaa 壓縮指令
   gzip -d aaa.gz  解壓指令
   
   bzip2 -z filename 壓縮,同上加-d參數解壓
   bzcat filename.bz 檢視壓縮檔內容
   
   tar czvf aaa.tar.gz aaa 將目錄aaa壓縮成aaa.tar.gz
   tar -N '2007/03/01' -zcvf home.tar.gz /home 在/home當中,比2007/03/01新的檔案才備份.
   tar --exclude /home/cao -zxvf myfile.tar.gz /home/* /etc 要備份/home,/etc,但不要/home/cao
   cd /tmp; tar -cvf -/etc | tar -xvf - 將/etc/打包後直接解開/tmp底下,而不產生檔案.
   tar zxvf aaa.tar.gz 解壓縮指令.
   tar jxvf aaa.tar.bz2 解壓指令
   tar zxvf aaa.tar.gz -C /var/www 將aaa.tar.gz解壓到/var/www目錄下
   cpio -covB > [file|device] 備份
   cpio -icduv < [file|device] 復原

38.網路指令
   ifconfig 顯示或設定網路裝置,可以檢視現用的ip,類似於windows裡的ipconfig
   service network restart(/etc/rc.d/init.d/network restart) 重啟網路卡
   ifdown eth0 關閉網路卡
   ifup eth0 開啟網路卡
   route -n 檢視路由表
   route add -net 192.168.20.1 netmask 255.255.255.0 dev eth0
   
   netstat 檢視網路連線情況
   netstat -i 顯示網路卡運行情況
   netstat -r 檢視主電腦的路由清單
   
   traceroute
   
   hostname 顯示主電腦名
   hostname -i 顯示現用的主電腦名的IP.

39.系統整合管理選單.
   setup   系統服務管理指令
   ntsysv  設定系統服務


40.fdisk /mbr 刪除GRUB

41.資料庫啟動
啟動mysql:
service mysqld start(/etc/rc.d/init.d/mysqld start)
mysql -uroot -p 輸入密碼即可操作mysql資料庫.

啟動Oracle
su - oracle
$lsnrctl stop
$lsnrctl start
sqlplus /nolog
conn /as sysdba(connected)
startup



42.安裝軟體包
rpm包安裝:
rpm -ivh xxx.rpm         安裝rpm包
rpm -qa --last | less    根據安裝日期顯示已經安裝的包
rpm -qa |grep mysql -i   查詢系統是否安裝mysql包(-i,忽略大小寫)
rpm -e                   刪除安裝的軟體包
rpm -e mysql* --nodpes   強制刪除關聯的軟體包
rpm --test               測試安裝
rpm -qi                  查詢mysql套件的說明資料
rpm -qpl xxx.rpm         檢視rpm包內含的內容.
rpm -qc[d]               設定檔與說明檔
rpm -Uvh                 升級安裝
rpmbuild --bb SPECS/xxx.spec 重新裝將xxx.spec編譯成rpm包.
rpmbuild --rebuild packagename.src.rpm 重新把.src.rpm編譯成rpm包.

源程式碼編譯安裝(經典)
./configure              檢查系統訊息(./configure --help | more 說明訊息,可以看到關聯的參數設定)
make clean               清除之前留下的檔案
make                     編譯
make install             安裝
注:源程式碼包安裝,一般先將檔案解壓,安裝過程大致上面幾步,具體說明一般見解壓後目錄裡的(INSTALL,READEME說明.)

NAS(Network Attached Storage)是架設商業網站的神兵利器嗎?

NAS(Network Attached Storage)是架設商業網站的神兵利器嗎?

最近網路上有很多關於:NAS 網路磁碟機完全活用--選購、安裝、應用、改機一次搞定的文章
NAS完整名稱為「Network Attached Storage」意指網路儲存設備。
NAS 又稱為網路磁碟機,雖然它長得像外接式硬碟,但可不只能用來存資料!
只要透過網路,下載、架站、影音分享,NAS 都能幫您做到!
雖然 NAS 這麼好用,但可不是像 USB 行動硬碟一樣,一接上電腦就馬上可以使用的。
要懂得如何設定,並啟用相關功能才行,否則連想將檔案複製到 NAS 中都做不到。
當然透過說明書官方的協助這方面應該可以解決!

attachments/201009/1734829758.jpg

接這問題又來了:NAS的機種也可以架設支援php和mysql,想請問透過此種方式來架商業網站是否妥當?
可同時容納多少人在線上?會不會有被駭客入侵的可能性?有防火牆的功能嗎?

它的答案是:NAS 的 CPU 跟 RAM 都比桌機差一大節,RAM 跟 CPU 也無升級可能,如果你的網站流量很大,同時上線人數很多的話,可能比較不適合,如果是在家用倒是很適合。
另外有網路專家跳出來警告:
把NAS放在分享器暴露公網上的危機:
1. 無防火牆,port全數暴露
2. 設定資料夾的檔案分享,所有檔案分享都是針對PPPOE 附近公網用戶的網路鄰居。
尤其有些人把資料夾設為Public 讀寫權限的,(一般人放家裡,原本有些就會為了方便設定為Public、有些是設密碼),你設為Public的,一不小心就被人全部讀取、且可刪除。
看到此文章害怕了嗎?
結論:『可以支援php架站』『可以用MySQL資料庫』不等於可以完全取代『專業的網站伺服器』!
不然公司機關還花高薪請『網管人員』做什麼?錢多?還是不知道有NAS此種產品?
例如:腳踏車、機車、汽車、飛機都是交通工具,都可以從台灣頭到台灣尾(但是效能差異太大了!)
網路創業要走正規的路才是『王道』,看到文章就擴大能耐(想法還是不要太天真)。

IP位址衝突解決辦法討論(二)

IP位址衝突解決辦法討論(二)

「擺脫」由操作不當引起的麻煩

由操作不當因素造成的IP位址衝突現象可能是最為常見的,這種現象往往會頻繁出現於以下幾個場合:一是一些用心不良的上網使用者為了偷偷獲得某台重要主電腦系統的管理員權限,而有意偷用目的重要主電腦系統的IP位址,從而造成上網位址衝突現象; 二是局功能變數網中的非法破壞分子,為了實現破壞局功能變數網穩定運行的目的,故意製造IP位址衝突故障,比方說,他們只要將自己的電腦IP位址,設定成與局功能變數網核心電腦或核心網路裝置的IP位址相同,就會造成局功能變數網訪問不能標準的現象;三是普通上網使用者在網路訪問過程中,由於無意中的操作不當,造成了上網位址發生衝突現象,例如在反覆安裝、卸載掃毒軟體或應用程式的時候,在頻繁查殺網路病毒的時候,在不斷調整上網參數的時候,很容易會發生無法上網的故障,對待這樣的網路故障,很多上網使用者會自己動手,隨意調整自己系統的配置參數,這樣一來發生位址衝突現象的幾率就十分巨大。

很明顯,無論是有意操作還是無意操作,都有可能造成上網位址發生衝突的故障;為了「擺脫」由操作不當引起的IP位址衝突故障,不少網路管理員往往會通過位址綁定的方法,直接將局功能變數網電腦的IP位址與對應的網路卡MAC位址互相綁定在一起,如此一來就限定了特定的網路卡裝置只能使用特定的IP位址進行上網連線,而使用其他IP 位址進行上網時就無法完成,那樣的話惡意使用者即使偷偷搶用了重要主電腦系統的IP位址,他也不能順利地連線到網路中,那麼位址衝突現象也就不會發生了;不過仔細分析一下,我們或許會發現這種方法也許並不是最有效的解決辦法,這是什麼原因呢?

這是因為上面的位址綁定方法,只能限制惡意使用者偷偷使用局功能變數網中重要主電腦系統的上網位址,但是不能有效防範合法使用者自己操作不當引起的位址衝突現象;例如,合法電腦的IP位址雖然被完成綁定到特定網路卡裝置上了,但是合法使用者仍然可以使用其他IP位址進行上網,當合法使用者由於自己操作上的不當,隨意選用了其他上網位址進行網路連線時,還是可能會出現位址衝突現象的,這個過程與合法使用者是否修改網路卡MAC位址沒有任何關係。具體地說,簡單地將IP位址與網路卡MAC位址綁定在一起的方法,只能有效防範惡意使用者偷偷搶用別人的IP位址,但是無法防範合法使用者操作上的無意失誤引起的IP位址衝突現象,很明顯上面的位址綁定方法,並不能徹底「擺脫」由操作不當引起的麻煩。

有鑒於此,在規模比較大的局功能變數網網路中,我們必須在核心交換機上同時採用兩種位址綁定操作,以便徹底「擺脫」由操作不當引起的麻煩:一種是將全部可信任電腦的IP位址與它們的網路卡MAC 位址綁定在一起,另外一種就是將其他沒有被使用到的閒置IP位址集中綁定到一個根本不存在的MAC位址上。經由這樣的雙重位址綁定操作,局功能變數網中的任何一台可信任電腦系統只能使用事先特殊的IP位址進行上網連線,而不能隨意使用其他的位址進行上網訪問。日後,要是有新的可信任電腦需要接入到局功能變數網網路中時,網路管理員只要從核心交換機上釋放一個閒置的上網位址出來,並且將這個釋放出來位址綁定到新的可信任電腦網路卡MAC位址上。這種雙重位址綁定的方法,經由實踐測試,筆者發現這種方法在「擺脫」由操作不當引起的位址衝突故障方面,效果非法的好,而且這種方法在防止ARP病毒襲擊方面也有不錯的效果。


另外,還有一種極端情況,即使我們採用雙重位址綁定的方法來防範,仍然還可能發生位址衝突現象:那就是惡意使用者同時得到了目的重要主電腦的網路卡MAC位址以及IP位址,而且可信任電腦恰好又不在網路上時,惡意使用者只要強行將自己電腦的網路卡MAC位址修改成重要主電腦的網路卡MAC 位址,再將自己電腦的IP位址設定成目的IP位址,那樣的話位址衝突就會發生了。不過,從實際管理網路的過程中,筆者發現這種極端情況出現的幾率非常低,畢竟這種情況的出現要同時符合三個條件:一要獲得重要主電腦的MAC位址,二要獲得對應系統的IP位址,三要確保重要主電腦系統不能線上。

當然,對於規模不大的局功能變數網網路來說,可能局功能變數網中沒有核心交換機,此時我們只要在用戶端系統中執行簡單的位址綁定操作就可以了。在進行這種操作時,我們可以先開啟用戶端系統的「開始」選單,點選其中的「運行」選項,在跳出的系統運行對話框中,執行「cmd」指令,開啟DOS指令行工作視窗;在該視窗中輸入「ipconfig /all」指令,點選換行鍵後,從對應的結果介面中得到對應系統的網路卡MAC位址與上網位址,將這些位址訊息記錄下來;之後再在DOS指令行工作視窗中,執行「arp X Y arpa」字串指令(其中X為目的IP位址,Y為網路卡MAC位址),完成位址綁定操作。
本Linux主機伺服器架設基地立志於收集各類Linux主機伺服器架設、網站架設及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!