摘要:前言關(guān)于此教程作為一名業(yè)余開發(fā)者,因為公司都是做和的。。。建議采用的方式下載,可參考官方教程。但是服務(wù)的進程管理,即便對于初學(xué)者來說,也是必不可少的一課。
前言 關(guān)于此教程
作為一名業(yè)余Nodejs開發(fā)者,因為公司都是做Java和C++的。。。我是在沒有任何人可請教的情況下,一個坑一個坑堅(ku)實(bi)地踩過來的。作為對segmentdefault社區(qū)的回報,把自己微不足道的經(jīng)驗分享給其他初學(xué)者。
本教程的目的,就是幫助剛上手Nodejs的開發(fā)者童鞋盡快搭建好自己的第一個Nodejs服務(wù)器。即使是沒有編程經(jīng)驗的新手,也希望能讀下來,也會對整個服務(wù)器搭建有個基本的概念。
Why DigitalOcean?官網(wǎng): https://www.digitalocean.com/
相信Nodejs的初學(xué)者都知道 CNode 網(wǎng)站,作為國內(nèi)最活躍的Nodejs社區(qū),她官方推薦的也是DigitalOcean的服務(wù)。優(yōu)點主要有2點:
無需備案。
便宜:每月幾十塊錢的套餐,基本滿足大部分個人開發(fā)者的需求(我會告訴你我買的最便宜的咩...)。
缺點也很明顯,就是機房都在國外,訪問速度因為眾所周知的原因可能會較慢。網(wǎng)上有很多帖子討論哪個機房的速度快,反正我是腦子一抽筋就選了舊金山的機房,有的時候確實慢成狗,大部分時候還好。。。論窮人的耐受力。
價位和配置大家可以上官網(wǎng)自行查看,我簡單截個圖:
一、創(chuàng)建Digital Ocean賬戶,準(zhǔn)備CentOS系統(tǒng)整體步驟如下:
1. 創(chuàng)建Droplet上官網(wǎng),注冊賬戶,選擇套餐(關(guān)于套餐選擇,可以自行Google下,各種大神分析各種套餐使用方式。當(dāng)然除非你跟我一樣毫不猶豫地選了5刀的乞丐版,一小時0.7美分~~~還是資本主義好?。?,最后創(chuàng)建droplet。
2. 系統(tǒng)初始配置創(chuàng)建好droplet之后,就是要對CentOS(當(dāng)然你也可以選別的,新手建議選CentOS)進行初始配置??蓞⒖糄igitalOcean的官方文檔 initial-server-setup-with-centos-7。
為了照顧英語不好的同學(xué),我把幾個重要步驟翻譯如下:
Step 1. 以root權(quán)限登陸打開命令行(shell),輸入ssh root@SERVER_IP_ADDRESS,其中 SERVER_IP_ADDRESS就是分配給你的droplet的公網(wǎng)ip地址(恭嘿你有了屬于自己的ip~~~)。回車之后,會提示你輸入密碼,這個密碼應(yīng)該是郵件發(fā)你了。登陸成功之后會立即提示你修改密碼。
Step 2. 創(chuàng)建新的用戶登陸后你相當(dāng)于是在用命令行操縱服務(wù)器,所以可以直接在命令行中輸入adduser yourname,就會創(chuàng)建一個名字叫yourname的用戶,在用passwd demo設(shè)置密碼。
Step 3. 給予新創(chuàng)建的用戶sudo權(quán)限沒有sudo超級管理員權(quán)限,會各種不方便,所以可以在root賬戶下用gpasswd -a yourname wheel命令,賦予sudo權(quán)限。
系統(tǒng)初始配置基本完成了,到目前為止你已經(jīng)可以在里面玩耍了,但是沒有ssh key驗證的話,安全性會打折扣。如何進行ssh設(shè)置就請大家參考上面鏈接里文章的后幾節(jié)了。
二、安裝NPM、MongoDB、Git 1. 安裝NPM沒有npm怎么能做Node開發(fā),所以安裝npm必然是第一步。
安裝的方式不止一種,可以直接下載壓縮包,但是在服務(wù)器上明顯不是最科學(xué)的方式。建議采用package manager的方式下載,可參考官方教程。
照例把重要步驟翻譯一下:
在服務(wù)器shell里輸入curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -,會將最新的Nodejs v6下載。完成后,再用yum安裝:yum -y install nodejs。
備注:給不知道yum是什么的同學(xué)簡單科普下,它是CentOS、Fedora系統(tǒng)里預(yù)裝的Shell前端軟件包管理器,幫助開發(fā)者簡便地安裝一些常用軟件。
2. 安裝MongoDBMongoDB作為最受歡迎的非關(guān)系數(shù)據(jù)庫,十分強大。同時又輕量,部署也不難,作為入門Nodejs,或者說入門數(shù)據(jù)庫的不二之選。同樣,用yum來下載安裝,可參考官方指導(dǎo)。重點部分如下。
Step 1. 準(zhǔn)備yum的repo文件在下載安裝前,有一步準(zhǔn)備工作不可或缺,那就是為yum設(shè)置下載MongoDB的配置文件。在/etc/yum.repos.d/路徑下,存儲著yum所有的repo配置文件,類似下圖。你可能注意到了,里面有個mongodb-org-3.4.repo文件,就是安裝mongo前需要準(zhǔn)備好的。
接下來你懂得,在以上目錄中touch一個新文件,命名為mongodb-org-3.4.repo,在其中寫入以下設(shè)置信息:
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.ascStep 2. 安裝、啟動MongoDB
安裝命令:yum install -y mongodb-org。
啟動命令:service mongod start。
啟動完成之后,保險起見,還是看下是否成功啟動運行了,可以到/var/log/mongodb/mongod.log路徑下查看此log,如果有[initandlisten] waiting for connections on port
備注:關(guān)于如何關(guān)閉、手動重啟、卸載數(shù)據(jù)庫等操作,都可以在上面的官方文檔中找到。
3. 安裝Git相信大部分開發(fā)者的代碼管理都是依靠git了,那么要把代碼部署到服務(wù)器上,git是必不可少的。
安裝git可能是最簡單的一步,命令:yum install git。就這樣git就裝好啦。
三、安裝PM2理論上來說,完成上面的工作,你的服務(wù)就能跑起來了。但是服務(wù)的進程管理,即便對于初學(xué)者來說,也是必不可少的一課。畢竟初學(xué)者代碼bug多不穩(wěn)定的話,crash后能及時重啟、能實時監(jiān)控等就顯得更加重要。在這里,推薦的也是十分流行的進程管理工具pm2。
首先要會的是安裝,和其他所有Nodejs的第三方包一樣,用npm即可:npm install pm2@latest -g。這樣,就全局安裝了pm2。
其次,當(dāng)部署了代碼之后,默認啟動方式為node XXX,XXX應(yīng)該是你的啟動文件。有了pm2之后,你就可以pm2 start XXX了。如果要實現(xiàn)自動重啟,那么加一個--watch就行了。
其他常用命令還包括:
結(jié)語從寫下第一行JavaScript,到發(fā)布自己寫的第一個網(wǎng)站,編程菜鳥的我踩了無數(shù)的坑。即便一個小問題可能困擾我一個星期,希望此文能幫到同是初學(xué)者的你。填坑的成就感不就是寫代碼的樂趣嗎~
最后,順便安利下我自己寫的一個客戶信息及工單管理平臺,適合初學(xué)者參考~~祝大家開發(fā)愉快!
參考文檔搭建Nodejs服務(wù)器
備注文中的命令要是執(zhí)行不了的話,多半是因為權(quán)限問題,在命令前面加個sudo就好。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/91189.html
摘要:大家好,今天我們來了解如何使用在各種云服務(wù)提供商的平臺上部署。是一個可以幫助我們在自己的電腦云服務(wù)提供商的平臺以及我們數(shù)據(jù)中心的機器上創(chuàng)建機器的應(yīng)用程序。支持幾個流行的云平臺,如及其它等等,所以我們可以在不同的平臺使用相同的接口來部署。 大家好,今天我們來了解如何使用Docker Machine在各種云服務(wù)提供商的平臺上部署Docker。Docker Machine是一個可以幫助我們在自己的...
摘要:網(wǎng)站的遷移遷移主要用到了命令,當(dāng)然網(wǎng)站小文件比較多的情況下例如,那么最好先打包在遠程拷貝,速度會快很多。但是在服務(wù)器上安裝的時候死活提示缺少依賴。 從 vultr 遷移到 digitalocean 幾個月前收到 digitalocean 發(fā)來的郵件,說因為我邀請用戶注冊并達到他的要求,送了我50刀的額度,本來就沒想到它能送,結(jié)果不久之前它又送了一次,果斷讓我產(chǎn)生了回到它的懷抱的念頭,...
摘要:云存儲問題,帳號系統(tǒng),多端同步最開始只想做瀏覽器本地的存儲,使用提供的存在本地就。具體解決方案云存儲及帳號系統(tǒng)使用提供的存儲服務(wù)解決。 0. 目錄 要開發(fā)的是什么項目 1.1 想法開端 1.2 應(yīng)該有什么功能? 開發(fā)需要解決的核心問題 具體解決方案 3.1 帳號系統(tǒng) 3.2 存儲服務(wù) 3.3 使用`LeanEngine`做反防盜鏈中轉(zhuǎn)接口 3.4 Chrome 插件實現(xiàn) 對去...
閱讀 755·2021-07-25 21:37
閱讀 3668·2019-08-30 15:55
閱讀 2583·2019-08-30 15:54
閱讀 1745·2019-08-30 15:44
閱讀 3137·2019-08-30 15:44
閱讀 874·2019-08-30 15:43
閱讀 1038·2019-08-29 15:36
閱讀 3051·2019-08-29 10:58