問說網建立也有3年多了,這期間也經歷了很多的變故,一路艱辛走到今天,也算是比較穩定了,現在分享一下建立一個網站的全套流程,其中有我自己的一些想法和推薦。
網站的組成
一個網站需要有一個域名、一臺伺服器、一套可執行的網站程式,這三個缺一不可,下面我們將逐一介紹這三個。
域名
域名相當於我們的居住地址,透過這個域名可以找到我們的網站,其中還隱藏了一個知識點,那就是IP,由數字和點構成,比較難記不便於宣傳,所以一般都是使用域名,域名的字尾名本來是有含義的,例如 com 是 company,org 是 organization 等等,不過現在沒人理會了。
伺服器
伺服器,也稱伺服器,是提供計算服務的裝置。由於伺服器需要響應服務請求,並進行處理,因此一般來說伺服器應具備承擔服務並且保障服務的能力。
伺服器的構成包括處理器、硬碟、記憶體、系統匯流排等,和通用的計算機架構類似,但是由於需要提供高可靠的服務,因此在處理能力、穩定性、可靠性、安全性、可擴充套件性、可管理性等方面要求較高。
網站程式
網站程式用於對使用者顯示內容,可以是靜態的網頁,也可以是動態的網站程式,動態語言程式可能需要資料庫的支援,主要是方便修改網頁和後期維護。
購買域名
上面對域名做了簡單的介紹,接下來我們將為你介紹如何購買域名和解析域名。
註冊域名交完錢之後,域名就是你的了,你可以在域名過期前使用這個域名,在國內註冊要注意,修改註冊聯絡人,管理聯絡人,技術聯絡人和付費聯絡人,如果你在後臺找不到修改的地方, 那麼這個域名可能不是你的,而是某奸商的。
用WHOIS查一下域名資訊,拿到授權碼(Auth Code),國內也有叫域名轉移密碼的,這個碼很重要,如果你不知道或奸商不告訴你,那這個域名仍然不是你的,想搬家到別家註冊商都搬不了, 萬一不行遇到這種情況,那麼就去ICANN投訴奸商,每天投訴三遍,如果某註冊商總是遭到投訴,ICANN會修理它的,總之你一定要知道自己作為消費者有什麼權利。
如果域名真的屬於你,那麼你哪天對註冊商不高興了,也可以把它踹掉,轉移到別的註冊商下。
域名的設定
域名的設定主要是一些解析工作,域名伺服器(name server):通常是ns*.***.***之類的網址,這個伺服器負責解析下面的各種設 置,也就是說,它是域名各項設定的Boss。
國內一些域名註冊商通常以這一點為手段卡住使用者,比如限制你只能使用它的域名伺服器,然後再限制你最多隻能設定10項A記錄或MX記錄等,多了要另外收費,這種規矩實在是很扯淡。
尤其是對於那些需要多個子域名的使用者,這一點很不方便,國外情況好一些,至少我還 沒見過有哪家限制你使用特定域名伺服器的;
要特別提及的一點是,有些空間服務商只需要你把域名伺服器設定為他們的域名伺服器,剩下的所有解析問題你基本上都不用管了,你可以自由建立子域名,而不必新增A記錄
- A記錄:就是將域名指向主機IP,可以將頂級域名或子域名指向特定的IP,所以你的子域名和頂級域名可以不在同一臺伺服器上,比如我可以將www.yihui.name指向66.147.240.177,將test.yihui.name指向127.0.0.1,等等。
- MX記錄:就是郵件伺服器,大家知道郵箱是
***@***.***
的形式,當你發郵件點“傳送”之後,首先你的郵件服 務商要根據你的收件人郵箱的域名去找它的MX記錄,然後再把郵件發給相應的(另一家)郵件服務商,比如我的域名yihui.name的MX記錄是 ASPMX.L.GOOGLE.COM,也就是Google Apps的郵件服務地址,當你給xie@yihui.name發郵件的時候,系統先去找一下yihui.name的MX記錄,一看,哦,是Google 啊,那就投遞到Google家去,Google收到郵件,一看,哦,要發給xie使用者啊,那就發給xie的收件箱中吧;我記得以前搜狗似乎也提供過免費的 郵件服務,不知現在還在不在,我已經用Google Apps很久了。 - CNAME:即別名,這玩意兒就是個域名“面具”,比如我把google.yihui.name的CNAME設定為google.com,那麼你們訪問前者的時候實際上就在訪問Google,域名中包含的任何路徑都會原封不動傳遞給google.com,比如 google.yihui.name/services/就是在訪問google.com/services/,但你的瀏覽器位址列中的地址不會顯示後 者,而是顯示那個“偽裝”的地址。
- 其它設定:理論上一個A記錄就夠用了,別的都不用管。
主機伺服器
域名設定好了之後,主機上也需要一些呼應工作。要是域名設定了A記錄,但主機上不“接收”,那網站也沒法使用。主機如何接收取決於它安裝的網站服務 程式,現在流行的是Apache,當然也有少數網站依舊抱著Windows IIS大腿(用ASP語言+Access資料庫),據說近段時間又出現了一款新軟體,有取代Apache的可能,名字忘記了。以Apache為例吧,主機 上會建立一個虛擬主機(Virtual Host)配置檔案,告訴伺服器,“嘿,有個網站指向了你,你要為這個網站服務,這個網站放在某某目錄下,如果使用者訪問某個網址,你要負責把該目錄下的文 件拿出來給使用者看。”大致原理就是這樣,細節不多說了。
對使用者來說,不用管那麼多細節,以上原理的實現對你來說就是在後臺把域名繫結到主機的目錄下(以及子域名繫結到子目錄下)。一般來說,網站還需要兩個輔助工具才能讓主人隨心所欲地配置自己的網站,即FTP和資料庫。
用FTP傳輸網頁檔案
FTP就是用來傳檔案到某一臺伺服器的,只要你購買了虛擬主機服務,一般就會給你一個FTP帳號,你可以利用這個帳號登入你的主機,把網頁檔案傳上 去,然後使用者就可以訪問了。一點常識是,index.htm/index.php之類的網頁檔案通常是你在訪問一個目錄時主機會自動為你查詢的檔案,比如 你訪問yihui.name,主機會自動查詢有沒有index.php,如果有,就執行這個檔案,生成HTML給你的瀏覽器。這個檔案的檔名也許是可以 配置的,但建議不要在這上面特立獨行。
現在又很多成熟的建站系統,從網上下載下來然後傳到伺服器上,訪問你的網址,按照提示一步步配置即可,跟裝軟體沒兩樣。
網站資料庫
動態網站大多數需要資料庫(即使是文字檔案“資料庫”),如果你的網站用PHP語言,那麼MySQL就是絕配了。若是PHP+MySQL空間(一般 linux主機都是這樣),主機服務商會給你分配MySQL資料庫帳號,包括:資料庫主機(多為localhost)、資料庫名、使用者名稱、密碼。這四項將 會在你安裝網頁程式的過程中要求你填寫。
網站的執行
對於那些程式設計師來說,第一個例子通常都是hello world,如果你願意看hello world的話,就把“hello world”用任何文字編輯工具寫在一個文字檔案中,命名為index.htm(注意Windows會預設隱藏副檔名!你自己保證檔名不是 index.htm.txt吧,我不管了),傳到網站根目錄下,然後訪問你的網站,你就能欣喜地看到這個老得不能再老的hello world了。
一個像樣的網站當然不是hello world這麼簡單,它的執行就像一個複雜的程式,可能存在檔案之間的函式呼叫以及資料庫的存取等等。世上真正開發網站程式的人肯定是少數,所以不用擔心,你就用別人的程式吧,典型的網站系統有:
- 部落格系統(Blog):推薦wordPress,理由是程式寫得簡潔,擴充套件性強,問說網現在使用的程式就是WordPress。
- 內容管理系統(CMS):新聞八卦站、教程站等等,顧名思義就是填充內容的,這種網站八成是互相抄,沒幾個正兒八經寫的,所以為了緩解大家的閱讀壓力,請各位客官珍愛生命,遠離這種網站,也不要再重複建設
- 論壇系統(BBS):網民對此應該非常熟悉了,國內常見的系統有PHPWind、Discuz等,國外盛極一時的有phpBB,我個人推薦的是一 款相對新出道的bbPress,理由同WordPress,在大家拼命增加功能的今天(搞得使用者面對一大堆選項焦頭爛額),難得見到一款拼命減功能的論壇系統
- 維基系統(Wiki):Wikipedia採用的是MediaWiki系統,如果你不想讓維基和資料庫互動的話,DokuWiki將是不錯的選擇,它不需要資料庫支援,全部都是文字檔案操作。
網站的安裝都沒啥說的,一般都是把網頁檔案整鍋端上伺服器,然後訪問你的網址,按提示走。該設定網站名稱設名稱,該輸密碼輸密碼。然後你會意識到,原來一個小小的個人也可以創造一個看似嚇人的大網站。
網站的維護
但網站的維護並非一件簡單的事情,當你有權利面對所有的選項時,你也會覺得痛苦。像我這種業餘玩了幾年網站的人都快有職業病了,什麼地方沒對齊就會 覺得不舒服,什麼地方少了個空格一眼就看出來了,段首空格縮排2字元還是1.9字元感覺就是不一樣。
所有的東西你都可以改,你願意怎麼佈置就怎麼佈置。只需一個文字編輯器和FTP,你就可以改了傳,傳了看,看了改。儼然永劫不復了。所以建網站也要有好心態,千萬別完美心態,不然這輩子都要不斷改。現在網站系統更新也快,隔三差五就有新功能,看得你心癢癢:我是不是該裝個A外掛/換個B主題啊?張三家有個功能特別酷,我要不要琢磨一下是怎麼弄的啊?
所以,最後我還是是建議各位看官學習HTML和CSS以及PHP+MySQL,畢竟找別人修改點小東西比較麻煩。
最後還有搜尋引擎最佳化(SEO),採取一些策略讓搜尋引擎喜歡你的網站,使得你的搜尋排名靠前,你又得學習什麼是網頁meta資訊(關鍵詞、描述),什麼是301重定向,什麼是404錯誤,什麼是Apache的Rewrite模組什麼是偽靜態網址。
交流:問說網設計交流群:12043441(快速加入),與眾多設計師交流設計,分享素材。
設計微博:@問說網 歡迎關注獲取網頁設計資源、下載頂尖設計素材。