在騰訊雲上搭建基於Nodejs的網站

在騰訊雲上搭建基於Nodejs的網站

能擁有一個完全由自己創建的網站是很多web工程師最初的夢想:自己做設計,自己切界面,自己寫交互,自己搭後臺,自己架構數據庫,自己配服務器。

好吧,實話實說,配服務器這一步曾經阻擋了我實現夢想的腳步,當年的我就是因爲討厭Linux服務器無休止的黑框框,而毅然決然地由後臺轉向了前端。我討厭配置這些東西,因爲它們對我而言既枯燥,又沒有寫出一點東西的那種成就感。我對服務器這種沒有圖形界面的東西感到恐懼。

在雲服務器上的配置和項目部署完全沒有想象中的困難,甚至可以說比較簡單,不得不說,它爲我的夢想提供了助力。我寫這篇文章的目的,一是幫助大家學習如何一步步把自己的項目部署到服務器上,尤其是針對前端Nodejs的開發者。二是鼓勵大家嘗試新鮮事物,其實很多東西沒有你想象的那麼難!!

在騰訊雲上完成註冊、登錄與實名認證

我想這裏不用我特別強調什麼,簡單的按照流程走就可以了

但注意你必須開通QQ錢包。

完成學生認證、搶學生優惠劵

騰訊云爲學生提供“1元”雲服務器和免費域名的扶持,點擊【合作與生態】->【雲+校園】,在這個頁面進行搶劵。每天有200個名額,中午12點開搶,我12點整搶的,不費什麼勁兒就搶到了

說明一下,實際上你搶到的是一張價值64元的雲服務器代金券和一張價值25元的域名代金券,當你買雲服務器的時候,可以直接拿那種64元的代金券抵現金。雲服務器有很多種配置,價格從65元到上千元不等,所謂的1元雲服務器是指的你選擇的是65元的那種低配入門版雲服務器,減去64元,只用花1元。

注意,雲服務器優惠券是按月領取,而域名優惠券則是按年領取。獲得優惠名額享受雲+校園扶持的用戶,連續3個月未主動領取服務器代金券,將被認爲主動放棄優惠特權,不再享受優惠。若需要享受優惠,須參與優惠資格的搶購。

購買雲服務器

點擊【雲產品】->【雲服務器】,點擊立即選購

學生入門級雲服務器

如果你是一名剛剛接觸雲服務器的學生,僅僅打算入門學習,按照下面網址的教程就能選到入門級雲服務器的配置,也就是說,你只需要支付1元。

http://bbs.qcloud.com/thread-21113-1-1.html

至於何種配置和何種鏡像(下面要說到)能滿足你的其他需求,不屬於本篇博客的討論範圍,我強烈建議你自己百度。

選擇地域

選擇地域時要考慮你客戶羣體的所在位置,儘量選擇離你客戶羣體近的位置。

雲硬盤和本地硬盤

如果業務對於磁盤IO沒有十分苛刻的要求,建議還是選購雲盤;如果業務對於IO有特殊要求,那麼還是選購本地盤。

選擇鏡像

在選擇了地域與機型之後,我們需要選擇鏡像。騰訊云爲我們提供了公共鏡像和服務市場兩種。說得直白點,公共鏡像就是一個光禿禿的操作系統,裏面什麼軟件都沒有,需要我們自己下載安裝。而服務市場則爲我們提供了多種不同的鏡像,裏面根據我們的不同需求爲我們預先安置了不同的軟件。舉個例子,如果我們想要搭建一個java後臺的服務器,那麼我們可以選擇預先安裝了Tomcat的鏡像。選擇何種鏡像一般不會影響費用,選擇鏡像後我們也可以手動安裝其它軟件。

在這裏,我們選擇【服務市場】-> 【從服務市場選擇】

裏面提供了各種鏡像供我們選擇,搜索Node,選擇第二個叫做nodejs運行環境的鏡像,裏面爲我們預先安裝了Node+Nginx+mongodb+mysql,方便我們一會兒的項目部署。

下面的鏈接會告訴你有關這個鏡像的更多細節:

http://market.qcloud.com/products/334?productId=334

準備工作

進入控制檯

購買完畢後,進入控制檯,幾分鐘後,就能夠找到剛纔購買的服務器,系統也會給你發郵件告知你該服務器的信息。如果你在購買時未重新設置密碼,可以在郵箱裏找到系統爲你自動生成的密碼。

首次進入網站

在瀏覽器地址欄輸入公網IP,作爲Nodejs開發者的你會看到熟悉的場景,是不是有點激動的想哭

下載工具軟件

之後我們需要下載兩個工具軟件

(1)putty

可以通過公網IP連接至遠程服務器,然後類似於CMD命令行操作的方式,控制我們的雲服務器。登錄時用戶名爲root。

提示沒有使用過Linux的同學,在Linux系統中輸入密碼時是沒有任何反應的,不會有“*”佔位符,輸入完畢後直接點擊回車就可以了。

(2)WinSCP

可以通過公網IP連接至遠程服務器,然後以圖形界面的方式操作雲服務器裏的文件。我們可以使用它輕鬆的把文件上傳到雲服務器上(當然後面我們會介紹一種更簡單的利用IDE直接上傳的方式),也可以通過它來操作雲服務器的文件系統,設置開機服務器自啓等操作。

這兩個工具可以直接從百度上下載到。

項目搭建與部署

當然,你可以直接修改你剛纔看到的,在雲服務器上的demo(位置在/data/home/www/ ),但我並不想這麼做。接下來,我要教大家如何利用Webstorm集成開發環境把一個新的項目與服務器相關聯,我們可以利用它向服務器上上傳本地文件,也可以把服務器上的文件下載到本地。

生成網站骨架

這一步並非本文的主題,我想我只需要點到爲止。

打開webstorm,通過下面的命令使用express生成網站的骨架:

express --hbs  (這裏我默認使用handlebar作爲模板引擎)
npm install

然後我將自己事先準備好的文件(index.html等)整合到項目中, 然後修改index.js路由文件:

router.get('/', function(req, res, next) {
  // res.render('index', { title: 'Express' });
  res.sendfile('views/index.html');
});

修改www文件中的端口爲3001(因爲3000端口被那個雲服務器上默認的demo程序佔用了,我們一會兒會再改回來的)

將webstorm與雲服務器相關聯

點擊【tools】->【deployment】->【configeration】進行設置

FTP host填上公網IP地址,再輸入了用戶名和密碼之後,就可以點擊【Test FTP connection】進行連接測試,如果測試失敗,則需要點擊Advanced Options按鈕,勾選Passive mode選項。測試成功後,你可以在【…】處選擇你的項目要上傳到雲服務器的哪個位置。 然後在Mappings 選擇映射目錄分別爲本地,發佈或web路徑。之後,你就可以右擊項目文件夾進行upload、download和對比服務器上的文件與本地文件了。

如果你覺得本文描述的不夠詳細,可以參考下面的資料:

https://my.oschina.net/u/141149/blog/678638

第一次開啓屬於自己的網頁

通過putty登錄進雲服務器系統中,cd到你項目的位置,輸入

node ./bin/www

然後,在瀏覽器輸入

公網IP:3001

即可訪問到自己剛剛上傳的index.html。

通過init.sh文件設置默認啓動項

上面的操作存在一個問題,首先,當我把putty關閉後,過一段時間後,服務器上的相關服務就會停止,你也就不能再訪問公網IP:3001了,其次,node默認的端口3000被佔用,使我們每次輸入網址時都要輸入端口號,這也是不可接受的。

我們可以通過修改雲服務器上/data/home中的init.sh文件來解決這個問題。這個文件中,鏡像爲我們事先配置了開機即啓動demo的小程序,我使用的是最簡單的辦法,把demo程序的路徑換爲我們新建的項目的路徑就可以了(我把項目上傳到了/data/home/www/helloCloud裏)。當然這裏我們可以學到如何將某項服務設置爲在服務器上一直進行。

在騰訊雲的控制檯重新啓動服務器,之後,打開瀏覽器,輸入公網IP(當然我們要把項目中index.js裏的端口號改回來),即可訪問到項目的首頁。只要我們的雲服務器處於運行狀態,我們就可以時刻訪問我們的網站。

購買並解析域名

在域名購買處購買域名,然後進行實名認證(需要上傳身份證照片或掃描件),它說審覈要1到3日,但我5分鐘就審覈通過了。之後,進行域名解析,將域名與你的項目相關聯,然後,然後就可以了。

打開瀏覽器,輸入你的域名,就可以訪問到你設置的首頁。

後續其他工作

限於篇幅,我只給大家介紹了在騰訊雲上搭建基於Node網站的最基本流程,至於如何連接數據庫,網站備案等操作需等我靜下心來,找個空閒的時間再慢慢和大家分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章