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

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

能擁有一個徹底由本身建立的網站是不少web工程師最初的夢想:本身作設計,本身切界面,本身寫交互,本身搭後臺,本身架構數據庫,本身配服務器。

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

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

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

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

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

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

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

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

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

購買雲服務器

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

學生入門級雲服務器

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

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

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

選擇地域

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

雲硬盤和本地硬盤

若是業務對於磁盤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網站的最基本流程,至於如何鏈接數據庫,網站備案等操做需等我靜下心來,找個空閒的時間再慢慢和你們分享。

相關文章
相關標籤/搜索