1. 程式人生 > >如何搭建一個web網站(一)

如何搭建一個web網站(一)

團隊合作 是的 轉換 們的 web服務 ons lang 用戶 域名

前言:

由於新生軍訓結束,作為學生會的一個技術部的老油條,這時候得幫幫他們了。

大多數新生都是奔著能做一些小東西,能夠被大家,被其他人用,為目的進入了技術部,部門主要負責做院系微信運營,順帶做開發。前兩任一個寫前端的,一個寫後端(php)的,我是寫golang的。基於能夠在學院帶一批人,培養大家團隊合作能力,為以後自己組建團隊提供一個好的人脈為目的,覺得這個部門技術部還是有理由存在下去的。由於前兩任,是一人在為部門做事情,然後以web為主,對於底層並不是深入了解,本人底層學的也不是很好,現在正在努力補。如今部門以golang為主,java為學校主導課程相輔助。話不多說。

首先:搭建一個web網站,我們得了解它的基本原理:簡單來說(以用戶角度來說)就是瀏覽器請求一個域名,然後得到一個頁面的全過程。

而其中的具體細節則是(如圖):

技術分享

而其中的數據流通則如下圖:技術分享

相信大家也非常熟悉了。而這其中的細節便是在計算機網絡中我們所學的,各種頭啊,協議啊等等。

在大家粗略了解了web的整個流程,我們便來講講服務器,數據庫。

平時大家都是在自己電腦上進行編程,這裏我們講的是web,那麽如何在本機跑一個web服務呢,首先我們得開啟一個web服務,用apache或者nginx,或者自己用程序寫一個web服務,然後這個web服務對應的端口設置好,開啟服務後(我這裏開啟80端口),你便能在自己瀏覽器請求127.0.0.1:80 然後自己本機的web服務做出相應的響應了。

這裏我用golang寫了一個簡單的服務開啟端口後,請求對應的url 便能做出響應。如下圖(這是一個簡單的 request) 可能每種語言的語法有所不同但是對應的思想是相同的

技術分享技術分享技術分享

對對對 這就是自己寫的一個簡單的服務 ,當然在同一局域網下,別人通過ip 訪問對應端口 也是能夠達到效果的。

有人說那麽我該如何讓頁面顯示自己想要的呢。如圖我們可以看到這個Test方法,test方法中有request和response,是的沒錯,接受用戶請求,你當然得返回一個東西給用戶嘛。這個時候你就可以告訴用戶一個html頁面或者其他。

讓我們來試一試給用戶返回一個hello world

技術分享

技術分享

太開心了 我們看見了我們久違的hello world 途中 我們觀察到我們將字符串強制轉換為byte類型了,是的由於底層tcp流以字節流傳輸,所以需要做此操作

是不是很簡單。

對於應用層來說,現在已經有公司寫好這些服務了,我們就只要用就行了,nginx啊,apache啊。所以我們只要配置好apache 或者nginx就好了。然後指向對應的文件目錄,或者通過它們代理到我們的服務器上,實現這種數據的操作。 最終目的都是將數據返回給客戶端。

說了這麽多 ,不管寫的怎樣,如果文中存在技術錯誤問題,歡迎一起討論,修正,希望能將自己的理解表達出來,不喜勿噴。

如何搭建一個web網站(一)