新手教程:建立网站的全套流程与详细解释
新手教程:建立網站的全套流程與詳細解釋
??????你要是 Baidu 這個話題,得到的結果八成都是廣告——他們都會告訴你,“嘿,我(或某公司)這里可以建網站,傻瓜式的喲,快來投奔我吧!” 新手一般都覺得建網站是一件超級復雜的事情,于是很天真很無邪地進了圈套,到最后還樂呵呵幫人數錢。傻瓜式的東西就如它的名字一樣,只是為傻瓜準備的,要格外小心。
我正式接觸計算機在 2002 年,接觸網站建設在 2003 年,想想時日也不短了,雖然不是什么高手,但還是有一定發言權滴。數月前,鼓動江堂兄從 Live Space 逃脫、建立了自己的窩,而近日又把自己的網站和 “統計之都” 網站都搬了家,然后也幫 “貝吉塔行星” 逃離了那抽風的 Live Space,后來有朋友問起關于如何建立個人網站的事情,所以干脆寫篇教程,把這建網站的來龍去脈講清楚。
一、建網站的準備材料:域名和空間
一個網站通常由域名和一堆網頁文件構成:
- 域名:就是 “三達不溜什么什么點坑” 這樣的東西(如 www.yihui.name,不嚴格,見后話),它由一家非營利組織 ICANN管理,但它授權給了若干注冊商(registrar)去賣域名,你可以在這些域名經銷商那里注冊頂級域名,所謂頂級域名就是 “字母或數字組合 +頂級域名后綴”,這些后綴包括常見的com/org/net,也包括不常見的 name/info/biz等,各家允許注冊的域名后綴可能有所不同,這就看個人喜好了;關于域名后綴,本來它是有含義的,比如 com 是 company,org 是organization,name是個人域名,等等,但我個人覺得這些東西已經沒太大意義了,域名只要好記、看著像模像樣就可以了,管它是公司還是組織呢(有例外:如 gov等特殊后綴一般人不能注冊),那著名的del.icio.us網站就是個很好的例子,它不一定非得是美國網站,但這個域名就是注冊得很巧妙。頂級域名下面可以設置子域名,如二級三級域名,嚴格來說,www.yihui.name只是 yihui.name 的二級子域名,只是 www太盛行,以至于人們干脆把www..當作頂級域名了。animation.yihui.name 就是本站的一個子域名 /子站。說了半天,域名怎么注冊啊?你 Google 一下 “域名注冊”或“domain name registration”,頂上的Sponsored link 中都是有實力的注冊商,但我作為過來人要嚴重提醒的是,盡量不要在國內注冊(尤其不要相信那個萬網的鬼話)。據說GoDaddy 還可以,我沒試過,只知道它似乎不能注冊. name 域名,我自己是在 name.com 注冊的域名(需要付美元,我用的PayPal,雙幣種的信用卡也可以)。
網站空間:想得簡單一些,空間和你的硬盤沒啥區別,只不過是空間服務商賣給你的一塊服務器硬盤位置而已,性能可能比你的 PC機好一點,網站空間就是放網頁文件的地方,網頁文件你可以簡單想象為你硬盤里的文件,它們也是按路徑訪問的,網址的路徑就對應著硬盤里的文件夾。網頁文件通常分為:
靜態網頁:其內容是固定不變的,里面放著 HTML 代碼(網頁的一種語言),不管誰、不管什么時間訪問,內容都一樣,通常以.
html/.htm 為文件名- 動態網頁:我估計現在大多數網站都是動態的了,所謂動態就是網頁文件會根據不同的條件解析生成不同的 HTML代碼,例如:某動態頁面根據時間和用戶 ID 向訪問者問好,早上訪問就說早上好,晚上訪問就說晚上好,路人甲來了就說路人甲你好……
動態頁面通常和數據庫掛鉤,用戶在訪問網頁的時候,網頁程序就存取數據庫,所以頁面內容會不斷更新。動態頁面可能采取不同的語言編寫,如古老的微軟的ASP、盛行的開源的 PHP?,F在網絡上有無數的網站系統,我當然推崇 PHP+MySQL 的系統了,目前尤其看好 WordPress系統。 - 注意有些國外空間是幾乎可以當做自己的電腦使用的,包括編譯安裝程序(如 Python),SSH 登錄,MySQL可以在命令行中執行,等等,國內似乎沒見過能給空間這么大自由的 域名和空間沒有必然聯系,域名的作用就是作為一個字符串映射到一個 IP地址上,因為(1)IP 地址太難記了(2)IP 地址數目有限(同一個 IP 上可以放 N個域名)所以才需要域名這么個東西。這就意味著,你有換空間的自由。哪天對空間服務商不高興了,可以直接把他踹了,把域名解析到別家去,用另一家空間。哎哎,等會兒,啥叫域名解析?
二、關于網站的配置
1、域名的設置
注冊域名交完銀子之后,域名就是你的了,如果你在國內注冊的,你花錢買的域名不一定真的是你的。一定要看你是否有以下權利:
- 修改注冊聯系人、管理聯系人、技術聯系人和付費聯系人信息,如果你在后臺找不到修改的地方,那么恭喜你,這域名好像不是你的,而是某奸商的,用WHOIS 查一下域名信息吧;
- 拿到授權碼(AuthCode),國內也有叫域名轉移密碼的,這個碼很重要,如果你不知道或奸商不告訴你,那再次恭喜你,這個域名仍然不是你的,想搬家到別家注冊商都搬不了,萬一不行遇到這種情況,那么就去ICANN 投訴奸商,每天投訴三遍,如果某注冊商總是遭到投訴,ICANN 會修理它的,總之你一定要知道自己作為消費者有什么權利如果域名真的屬于你,那么你哪天對注冊商不高興了,也可以把它踹掉,轉移到別的注冊商下。
域名的設置主要是一些解析工作,包括:
域名服務器(nameserver):通常是ns*..之類的網址,這個服務器負責解析下面的各種設置,也就是說,它是域名各項設置的Boss。國內一些域名注冊商通常以這一點為手段,卡住用戶,比如限制你只能使用它的域名服務器,然后再限制你最多只能設置 10 項 A記錄或 MX記錄等,多了要另外收費,這種規矩實在是很扯淡;尤其是對于那些需要多個子域名的用戶,這一點很不方便,國外情況好一些,至少我還沒見過有哪家限制你使用特定域名服務器的;
要特別提及的一點是,有些空間服務商只需要你把域名服務器設置為他們的域名服務器,剩下的所有解析問題你基本上都不用管了,你可以自由創建子域名,而不必添加
A 記錄
A 記錄:就是將域名指向主機 IP,可以將頂級域名或子域名指向特定的 IP,所以你的子域名和頂級域名可以不在同一臺服務器上,比如我可以將
www.yihui.name 指向 66.147.240.177,將 test.yihui.name 指向 127.0.0.1,等等。
其它設置:不說了,理論上一個 A 記錄就夠用了,別的都不用管。
2、主機的設置
域名設置好了之后,主機上也需要一些呼應工作。要是域名設置了 A 記錄,但主機上不 “接收”,那網站也沒法使用。主機如何接收取決于它安裝的網站服務程序,現在流行的是 Apache,當然也有少數網站依舊抱著 Windows IIS 大腿(用 ASP 語言 + Access 數據庫),據說近段時間又出現了一款新軟件,有取代 Apache 的可能,名字忘記了。以 Apache 為例吧,主機上會創建一個虛擬主機(Virtual Host)配置文件,告訴服務器,“嘿,有個網站指向了你,你要為這個網站服務,這個網站放在某某目錄下,如果用戶訪問某個網址,你要負責把該目錄下的文件拿出來給用戶看。” 大致原理就是這樣,細節不多說了。
對用戶來說,不用管那么多細節,以上原理的實現對你來說就是在后臺把域名綁定到主機的目錄下(以及子域名綁定到子目錄下)。一般來說,網站還需要兩個輔助工具才能讓主人隨心所欲地配置自己的網站,即 FTP 和數據庫。
(1)用 FTP 傳輸網頁文件
FTP 就是用來傳文件到某一臺服務器的,只要你購買了虛擬主機服務,一般就會給你一個 FTP 帳號,你可以利用這個帳號登錄你的主機,把網頁文件傳上去,然后用戶就可以訪問了。一點常識是,index.htm/index.php 之類的網頁文件通常是你在訪問一個目錄時主機會自動為你查找的文件,比如你訪問 yihui.name,主機會自動查找有沒有 index.php,如果有,就執行這個文件,生成 HTML 給你的瀏覽器。這個文件的文件名也許是可以配置的,但建議不要在這上面特立獨行。
現在又很多成熟的建站系統,從網上下載下來然后傳到服務器上,訪問你的網址,按照提示一步步配置即可,跟裝軟件沒兩樣。
(2)網站數據庫
動態網站大多數需要數據庫(即使是文本文件 “數據庫”),如果你的網站用 PHP 語言,那么 MySQL 就是絕配了。若是 PHP+MySQL 空間(一般 Linux 主機都是這樣),主機服務商會給你分配 MySQL 數據庫帳號,包括:數據庫主機(多為 localhost)、數據庫名、用戶名、密碼。這四項將會在你安裝網頁程序的過程中要求你填寫。
三、網站的運行
對于那些程序員來說,第一個例子通常都是 hello world,如果你愿意看 hello world 的話,就把 “hello world” 用任何文本編輯工具寫在一個文本文件中,命名為 index.htm(注意 Windows 會默認隱藏文件擴展名!你自己保證文件名不是 index.htm.txt 吧,我不管了),傳到網站根目錄下,然后訪問你的網站,你就能欣喜地看到這個老得不能再老的 hello world 了。
一個像樣的網站當然不是 hello world 這么簡單,它的運行就像一個復雜的程序,可能存在文件之間的函數調用以及數據庫的存取等等。世上真正開發網站程序的人肯定是少數,所以不用擔心,你就用別人的程序吧,典型的網站系統有:
但網站的維護并非一件簡單的事情,當你有權利面對所有的選項時,你也會覺得痛苦。像我這種業余玩了幾年網站的人都快有職業病了,什么地方沒對齊就會覺得不舒服,什么地方少了個空格一眼就看出來了,段首空格縮進 2 字符還是 1.9 字符感覺就是不一樣。所有的東西你都可以改,你愿意怎么布置就怎么布置。只需一個文本編輯器和 FTP,你就可以改了傳,傳了看,看了改。儼然永劫不復了。所以建網站也要有好心態,千萬別完美心態,不然這輩子都要不斷改。現在網站系統更新也快,隔三差五就有新功能,看得你心癢癢:我是不是該裝個 A 插件 / 換個 B 主題啊?張三家有個功能特別酷,我要不要琢磨一下是怎么弄的啊?……
所以,我是建議各位看官學習 HTML 和 CSS 以及 PHP+MySQL 呢,還是不建議呢?我也不知道。
還有搜索引擎優化(SEO),采取一些策略讓搜索引擎喜歡你的網站,使得你的搜索排名靠前,你又得學習什么是網頁 Meta 信息(關鍵詞、描述),什么是 301 重定向,什么是 404 錯誤,什么是 Apache 的 Rewrite 模塊什么是偽靜態網址;……
四、摘要
頭一次見到把摘要寫到最后的吧?
付款;域名每年都要交錢的。
Google,因為空間性能很重要,不試不知道;根據你的建站需求買相應的空間(靜態?動態?需要多大?),國內分不同種類的空間,可能按大小收費,國外據我了解的HostMonster 是沒有大小限制的,一口價,敞開讓你隨便用,當然,總會受硬盤大小限制
原文鏈接: https://yihui.name/cn/2009/06/how-to-build-a-website-as-a-dummy/
總結
以上是生活随笔為你收集整理的新手教程:建立网站的全套流程与详细解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 感量越大抑制频率约低_开关电源电磁兼容进
- 下一篇: 微机原理与接口技术 重点详解与章节总结—