你有空嗎?跟我一起搭個服務器好不好?
昨天閑的沒事的時候,隨手翻了翻寫過的文章,發現一個很嚴重的問題。就是大多數時間我都在滔滔不絕的講理論,卻很少有涉及動手操作的文章(比如這篇《大年初四,讓我們一起來動手擼代碼吧》)。對程序員來說,豐富的理論姿勢雖然很重要,但沒有實戰經驗,就好像閱片無數卻依然無從下手一樣,注定是無法性福的。
現在我決定彌補一下。你只需要抽出5分鐘喝咖啡的時間,跟我一起動動手,就可以搭起一臺服務器來取悅自己,只要5分鐘哦有木有?
第一步,準備。
準備?只需要一臺PC就夠了。Windows和Mac都可以,經過我的大數據分析(約40%的用戶在用Windows看本公眾號),我還是決定用Windows(主要還是老找人家產品經理借Mac怪不好意思的)。
為什么一臺普通的PC就可以做服務器呢?說白了,服務器其實就是一臺普通PC,只不過它強一點、網速快一點、裝的軟件更專業一點。性能強悍是必須的,像京東、淘寶這些網站,每天流量那么大,你只給它配個四核CPU加4M寬帶,分分鐘就沖垮了,讓不讓人好好剁手了?服務器上裝的軟件,一般也是沒有界面的,不像你們家里的PC,有一個華麗呼哨的桌面壁紙,還能打打擼啊擼、看看葫蘆娃啊什么的。
更多的情況是,因為流量太大,一臺服務器遠遠不夠,通常需要一整個倉庫來放服務器。這些服務器分工明確,有的負責接入層,專門用來響應各種請求,就像客服一樣,天天跟客戶打交道。還有的負責邏輯層,就像是幕后的工程師,接到客服提的單子,然后做邏輯運算,比如校驗用戶輸入的用戶名密碼,客戶是否是VIP等等。最后一般是是存儲層的服務器,它們是倉庫管理員,你去網上買東西,最后生成的訂單就通過它們存下來。
第二步,下載Nginx。
Nginx(讀engine X)就是把我們普通PC變成服務器的軟件,注意它有很多版本,我們選Windows平臺的:
http://nginx.org/download/nginx-1.8.1.zip。解壓后出現一個文件夾,雙擊里面的nginx.exe,然后你會發現。。。特碼什么反應都沒有。
這就對了。Nginx是來自俄羅斯的開源軟件,它有個大名鼎鼎前輩叫Apache(阿帕奇),通常放在一起比較。前者性能要好很點,后者老牌更穩定一點。Nginx所做的工作就是,不停的監聽的你網卡,然后對收到的網絡請求做出響應。你雙擊nginx.exe之后,Nginx就作為一個后臺進程啟動起來了。后臺進程又叫守護進程(daemon),沒有UI,一直在后臺悄悄的運行,一般用來做一些監控、安全之類的工作(像各種管家、衛士們的進程,看不見摸不著,關也關不掉)。
Nginx非常適合做靜態網頁的服務器。所謂靜態網頁,就是你的網頁寫的什么樣,展示在用戶瀏覽器里就是什么樣,它不會跟用戶進行交互,就好像一本紙質書一樣。與之對應的動態頁面,則更像是一本電子書,你可以操作它、設置它,但它本質上還是書。還有,你熟知的Facebook、github、163.com這些都在用Nginx做服務器。
第三步:測試。
Nginx裝好之后,你會看到幾個目錄,其中一個是/html,用來放置你寫的html代碼。你下載的Nginx已經有兩個寫好的網頁了。一般默認的頁面取名叫index.html,就是入口的意思。除此之外,還有一個50x.html,是網絡報50x的錯誤碼之后,用戶看到的頁面。(50x是一些服務器錯誤系列http狀態碼,我們之前介紹過網頁跳轉系列的30x,你可以復習一下《什么是HTTP 302跳轉?》,這也是本公眾號的開山第一篇呢)。
現在,打開你的瀏覽器,輸入127.0.0.1,看下是不是出現和我一樣的頁面,如果是的話,恭喜,你的服務器就搭起來了。
現在你可以把index.html改成你想要的樣子了。
這里忍不住多說兩句。我們知道,每一臺服務器都有一個IP地址,用戶就是通過這個IP地址連接到你的服務器。127.0.0.1也是一個IP地址,但是它是回路地址,一般用來測試的。回路的意思是,當你輸入這個地址,瀏覽器企圖通過網卡連接127.0.0.1這個服務器的時候,發現它是一個回路,就繞了一圈回來了?;貋聿淮硎裁炊紱]有,你的網卡還是把它當成一個外部請求來對待,于是瀏覽器連接到了你的Nginx服務器,服務器醒過來開始響應,自動把index.html吐給你。
現在你的服務器搭起來了,你可以用回路地址來訪問html目錄下的網頁,就好像真的在瀏覽別人的網站一樣。但畢竟127.0.0.1是一個寂寞的IP地址,遲早有一天你會撲向外面的互聯網世界。到時候你可以租一臺真正的服務器,買一個屬于自己的域名,把你感興趣的、想玩的東西都放上去。少年,去做一個極客吧,看好你哦!
#專欄作家#
給產品經理講技術,微信公眾號(pm_teacher),人人都是產品經理專欄作家。資深程序猿,專注客戶端開發若干年,對前端、后臺技術略懂,熱衷于對新的科技領域的探索。
本文原創發布于人人都是產品經理,未經許可,不得轉載。
現在服務器是怎么租?為什么要租外面的而不能用自己的電腦經營?
確實寫的簡單易懂,這才是最重要的,搞一堆專業名詞顯得自己很專業,但是沒有技術基礎的人也看不懂
想要 碼代碼
文章寫的通俗易懂,邏輯很清晰明了,棒棒噠
作為科普文章,真的很棒
棒棒噠!
贊