能擁有一個徹底由本身建立的網站是不少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程序佔用了,咱們一下子會再改回來的)
點擊【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。
上面的操做存在一個問題,首先,當我把putty關閉後,過一段時間後,服務器上的相關服務就會中止,你也就不能再訪問公網IP:3001了,其次,node默認的端口3000被佔用,使咱們每次輸入網址時都要輸入端口號,這也是不可接受的。
咱們能夠經過修改雲服務器上/data/home中的init.sh文件來解決這個問題。這個文件中,鏡像爲咱們事先配置了開機即啓動demo的小程序,我使用的是最簡單的辦法,把demo程序的路徑換爲咱們新建的項目的路徑就能夠了(我把項目上傳到了/data/home/www/helloCloud裏)。固然這裏咱們能夠學到如何將某項服務設置爲在服務器上一直進行。
在騰訊雲的控制檯從新啓動服務器,以後,打開瀏覽器,輸入公網IP(固然咱們要把項目中index.js裏的端口號改回來),便可訪問到項目的首頁。只要咱們的雲服務器處於運行狀態,咱們就能夠時刻訪問咱們的網站。
在域名購買處購買域名,而後進行實名認證(須要上傳身份證照片或掃描件),它說審覈要1到3日,但我5分鐘就審覈經過了。以後,進行域名解析,將域名與你的項目相關聯,而後,而後就能夠了。
打開瀏覽器,輸入你的域名,就能夠訪問到你設置的首頁。
限於篇幅,我只給你們介紹了在騰訊雲上搭建基於Node網站的最基本流程,至於如何鏈接數據庫,網站備案等操做需等我靜下心來,找個空閒的時間再慢慢和你們分享。