買(mǎi)了阿里云之后

終于戰(zhàn)勝拖延癥墩蔓,備案好了域名梢莽,下狠心買(mǎi)了一個(gè)阿里云(低配打了折的還得好幾十一個(gè)月,寶寶心里苦~)奸披』杳苦歸苦,web環(huán)境(主要是為了node應(yīng)用服務(wù))還是要搭建起來(lái)的阵面,開(kāi)車(chē)了轻局,請(qǐng)坐好扶穩(wěn)!Qⅰ仑扑!

設(shè)計(jì)臺(tái)詞

一、前戲

除了購(gòu)買(mǎi)之前需要先買(mǎi)一個(gè)域名以及備案置鼻,購(gòu)買(mǎi)的過(guò)程中也有事情需要注意镇饮。

阿里云實(shí)際上可以看做一臺(tái)計(jì)算機(jī),在買(mǎi)計(jì)算機(jī)之前箕母,了解配置是必不可少的一步储藐,此前我也咨詢(xún)過(guò)朋友,然而沒(méi)有實(shí)踐經(jīng)驗(yàn)嘶是,難以真正理解钙勃。反正從無(wú)到有,反正阿里云的配置可以彈性變更聂喇,莫不如聽(tīng)信阿里的讒言辖源,選一個(gè)個(gè)人入門(mén)型的。

設(shè)計(jì)臺(tái)詞

其它的配置都幫勾選好了授帕,唯獨(dú)操作系統(tǒng)是需要自己動(dòng)手的同木,在windows和linux之間,請(qǐng)不要猶豫跛十,放棄windows彤路,因?yàn)檫@是服務(wù)器,即使習(xí)慣了windows芥映,也應(yīng)該跳出自己的思維舒適區(qū)洲尊。然而远豺,linux系統(tǒng)也還有好幾種,這個(gè)時(shí)候該干嘛坞嘀?沒(méi)錯(cuò)躯护,谷歌(或者度娘)。網(wǎng)上有各種優(yōu)劣對(duì)比丽涩,走到了這個(gè)階段也應(yīng)該知道自己的側(cè)重點(diǎn)了棺滞。我選了一個(gè)Ubuntu 14.04 64位,Ubuntu和Debian都使用的apt-get的方式安裝軟件矢渊,這是我更熟悉的一種方式继准,并且Ubuntu基于Debian開(kāi)發(fā),有比Debian更加激進(jìn)的軟件更新策略矮男,嗯移必,年輕就應(yīng)該多嘗試。

自己折騰毡鉴、實(shí)踐崔泵,選錯(cuò)了也沒(méi)多大點(diǎn)事,因?yàn)橄到y(tǒng)是可以重裝的

二猪瞬、連接

拿到阿里云實(shí)例之后憎瘸,第一要?jiǎng)?wù)就是能夠遠(yuǎn)程連接,我發(fā)現(xiàn)我在管理界面中點(diǎn)擊遠(yuǎn)程連接按鈕進(jìn)入命令行連接的時(shí)候我是不知道root密碼的撑螺,好吧含思,重置密碼吧,重置密碼之后一定要記得重啟甘晤,否則密碼是無(wú)效的

拿到root密碼,ip饲做,其實(shí)就可以把管理后臺(tái)擱在一邊了线婚,可以使用你習(xí)慣的終端(這里我mac shell),以ssh的方式遠(yuǎn)程登錄盆均,以sftp的方式來(lái)上傳下載文件塞弊,服務(wù)器上編輯文件使用vi

這里全程使用命令行的方式操作,木有圖形界面泪姨,請(qǐng)?jiān)囍邮苡窝兀?xí)慣之后,你會(huì)發(fā)現(xiàn)肮砾,這個(gè)逼完全是可以裝的诀黍,沒(méi)有想象中復(fù)雜,卻比想象中迅捷

設(shè)計(jì)臺(tái)詞

連接命令:

    //ssh連接
    # ssh root@yourip
    # your root pass

    //sftp連接
    # sftp root@youip
    # you root pass

命令很多仗处,不是本文的重點(diǎn)眯勾,網(wǎng)上教程可以搜索到很多枣宫,可以找來(lái)看看,不需要每個(gè)命令都記住吃环,有印象即可也颤,用到可以去查,常用的自然會(huì)記住

三郁轻、嘗試python啟動(dòng)最簡(jiǎn)單的web服務(wù)

使用購(gòu)買(mǎi)好的域名解析到實(shí)例對(duì)應(yīng)的公網(wǎng)ip翅娶。

使用ssh命令連接之后,需要確定一個(gè)保存web文件的目錄好唯,在/home目錄下創(chuàng)建一個(gè)WWW以及WWW/static故觅。使用sftp連接,上傳一個(gè)index.html渠啊,內(nèi)容嘛as you wish输吏,主要是用來(lái)測(cè)試的

    //ssh
    #cd /home
    #mkdir WWW
    #cd /WWW
    #mkdir static
    //sftp
    # cd /home/WWW/static
    # lcd dir(本地index.html所在目錄)
    # put index.html

Ubuntu默認(rèn)已經(jīng)安裝了python,直接輸入python命令如果能進(jìn)入python命令行就可以證明此言不虛了替蛉,一個(gè)命令就可以啟動(dòng)一個(gè)最簡(jiǎn)單的web服務(wù)贯溅,在瀏覽器輸入:http://youdomain/index.html,如果訪(fǎng)問(wèn)正常躲查,那么第一步就成了

    # python -m SimpleHTTPServer 80 
設(shè)計(jì)臺(tái)詞

四它浅、安裝git

git無(wú)疑已經(jīng)是最流行的代碼管理工具,而github這個(gè)基于git進(jìn)行版本控制的源代碼托管服務(wù)也是最流行镣煮。我的應(yīng)用代碼也托管在github上面姐霍,安裝git之后,我可以方便的從github更新最新的代碼典唇,這一點(diǎn)很重要镊折。另外Ubuntu的一些軟件也可以基于git安裝

    //安裝
    # apt-get install git-core
    //使用
    # cd /home/WWW
    # git clone https://github.com/zengwenfu/h5-creator.git
    # your github username  
    # your github password

五、安裝nvm介衔、node

我這里需要部署的是基于node的web應(yīng)用恨胚,所以需要安裝node,為了能在多個(gè)node版本中切換如流炎咖,需要安裝一個(gè)node的版本管理工具nvm

    //前面我們已經(jīng)按照了git赃泡,所以可以使用git
    # git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`  
    
    //編輯環(huán)境變量文件
    # cd
    # vim .bashrc
    //增加
    source ~/.nvm/nvm.sh   
    // 添加到系統(tǒng)
    # source .bashrc

如此nvm便安裝成功了,可以使用nvm來(lái)方便的安裝node了乘盼,

    //查看可用的node版本
    # nvm ls-remote
    //安裝指定版本升熊,默認(rèn)已經(jīng)安裝了npm了
    # nvm install 5.8.0

進(jìn)入上一步中在github中下載的代碼,安裝依賴(lài)包绸栅,執(zhí)行啟動(dòng)命令级野,不過(guò)好像出了點(diǎn)錯(cuò)誤

    # cd /home/WWW/h5-creator
    # npm install
    # npm start
設(shè)計(jì)臺(tái)詞

六、安裝mongodb

上一步報(bào)的錯(cuò)誤是因?yàn)閔5-creator使用了mongodb阴幌,然而服務(wù)器上沒(méi)有安裝所致勺阐,所以mongodb也得安裝上

    //添加mongodb簽名到APT
    # apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
    //創(chuàng)建/etc/apt/sources.list.d/mongodb-org-3.2.list文件并寫(xiě)入命令
    # echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
    //更新軟件源列表
    # apt-get update
    //安裝mongodb(默認(rèn)是安裝穩(wěn)定版)
    # apt-get install -y mongodb-org=3.2.9 mongodb-org-server=3.2.9 mongodb-org-shell=3.2.9 mongodb-org-mongos=3.2.9 mongodb-org-tools=3.2.9

安裝成功之后卷中,默認(rèn)已經(jīng)自啟動(dòng),重新到/home/WWW/h5-creator中運(yùn)行npm start即可正常運(yùn)行渊抽,由于這個(gè)node服務(wù)默認(rèn)使用了3000這個(gè)端口號(hào)蟆豫,得輸入域名加端口才可以訪(fǎng)問(wèn),當(dāng)然可以改為監(jiān)聽(tīng)80端口懒闷,便可以直接輸入域名訪(fǎng)問(wèn)應(yīng)用十减。然而,倘需要在服務(wù)器中部署多個(gè)node應(yīng)用監(jiān)聽(tīng)不同的端口愤估,則必有占不到80端口的應(yīng)用帮辟,如何在訪(fǎng)問(wèn)網(wǎng)站的時(shí)候省去端口號(hào)呢,這需要nginx的反向代理玩焰,詳情請(qǐng)往下讀

在此之前還有一個(gè)問(wèn)題由驹,啟動(dòng)了node服務(wù)之后,終端界面停留在了node服務(wù)日志的輸出界面中昔园,退出終端蔓榄,則服務(wù)也跟著被中斷了,所以還需要一個(gè)管理node進(jìn)程的pm2默刚。當(dāng)然pm2解決的問(wèn)題不單是退出終端界面不中斷服務(wù)甥郑,眾所周知,node是單線(xiàn)程的荤西,倘若應(yīng)用出現(xiàn)了未捕獲的異常澜搅,那么進(jìn)程將中斷,服務(wù)也就中斷了邪锌,線(xiàn)上產(chǎn)品如此勉躺,那是災(zāi)難性的,使用pm2管理node進(jìn)程秃流,可以在出錯(cuò)的時(shí)候重啟赂蕴。

類(lèi)似的還有基于python的supervisor

七、安裝pm2

pm2是基于node的模塊舶胀,使用npm全局安裝即可,不過(guò)一定要全局安裝碧注,安裝成功使用pm2代替node啟動(dòng)node服務(wù)

    //安裝
    # npm install pm2 -g
    //進(jìn)入h5-creator
    # cd /home/WWW/h5-creator
    //啟動(dòng)服務(wù)
    # pm2 start server.js

    //pm2 其它常用命令
    //查看node進(jìn)程列表
    # pm2 list
    //顯示特定進(jìn)程詳情
    # pm2 show id
    //重啟
    # pm2 restart id
    //停止
    # pm2 stop id

如此啟動(dòng)之后嚣伐,終端不會(huì)停留在node應(yīng)用日志界面,你可以安安靜靜的離開(kāi)了~

mei.jpeg

八萍丐、安裝nginx

使用nginx的反向代理轩端,可以將同一臺(tái)服務(wù)器上監(jiān)聽(tīng)不同端口的服務(wù),都能以80端口作為代理入口逝变,定向到特定的服務(wù)

    //安裝
    # apt-get install nginx

nginx的配置文件在/etc/nginx目錄基茵,查看nginx.conf發(fā)現(xiàn)如下一句

    include /etc/nginx/conf.d/*.conf;

所以的配置文件加入conf.d目錄即可奋构,具體的配置規(guī)則,三言?xún)烧Z(yǔ)也說(shuō)不清楚拱层,需要找點(diǎn)資料稍微系統(tǒng)的看下弥臼,這里只挑我的配置中的關(guān)鍵部分進(jìn)行說(shuō)明

     listen       80;
     server_name  h5.facemagic888.com; //域名綁定
     server_tokens off; ## Don't show the nginx version number, a security best practice

     root   /home/WWW/h5-creator;
     index  index.html index.htm;

     .......

     location / {
        ...
        proxy_pass http://localhost:3000; //代理定向到localhost:3000
     }

我注冊(cè)的域名是facemagic888.com,可以解析www.facemagic888.com這個(gè)一級(jí)域名根灯,還可以解析諸如h5.facemagic888.com的二級(jí)域名径缅,由于一級(jí)域名有別的用途(個(gè)人網(wǎng)站,開(kāi)發(fā)中)烙肺,所以這個(gè)h5在線(xiàn)生成工具給了一個(gè)二級(jí)域名h5.facemagic888.com纳猪。這個(gè)域名解析到服務(wù)器的ip,通過(guò)80端口訪(fǎng)問(wèn)服務(wù)器(默認(rèn)無(wú)需輸入)的時(shí)候桃笙,nginx會(huì)轉(zhuǎn)發(fā)到服務(wù)器的3000端口應(yīng)用進(jìn)行處理

至此氏堤,阿里云的部署配置算是告一段落了,其它的什么問(wèn)題搏明,運(yùn)行的過(guò)程中再觀(guān)察了鼠锈,抄小路,去訪(fǎng)問(wèn)一下部署好的網(wǎng)站吧:http://h5.facemagic888.com/

總結(jié)

說(shuō)起來(lái)完成整個(gè)過(guò)程只有8步熏瞄,但是涉及到的知識(shí)點(diǎn)還是蠻多的脚祟,一步一步慢慢嘗試慢慢品,會(huì)有很多收獲强饮,just do it

菲麥前端專(zhuān)題由桌,匯聚前端好文,邀您關(guān)注邮丰!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末行您,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子剪廉,更是在濱河造成了極大的恐慌娃循,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斗蒋,死亡現(xiàn)場(chǎng)離奇詭異捌斧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)泉沾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)捞蚂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人跷究,你說(shuō)我怎么就攤上這事姓迅。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵丁存,是天一觀(guān)的道長(zhǎng)肩杈。 經(jīng)常有香客問(wèn)我,道長(zhǎng)解寝,這世上最難降的妖魔是什么扩然? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮编丘,結(jié)果婚禮上与学,老公的妹妹穿的比我還像新娘。我一直安慰自己嘉抓,他們只是感情好索守,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著抑片,像睡著了一般卵佛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上敞斋,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天截汪,我揣著相機(jī)與錄音,去河邊找鬼植捎。 笑死衙解,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的焰枢。 我是一名探鬼主播蚓峦,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼济锄!你這毒婦竟也來(lái)了暑椰?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤荐绝,失蹤者是張志新(化名)和其女友劉穎一汽,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體低滩,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡召夹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了恕沫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戳鹅。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖昏兆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤爬虱,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布隶债,位于F島的核電站,受9級(jí)特大地震影響跑筝,放射性物質(zhì)發(fā)生泄漏死讹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一曲梗、第九天 我趴在偏房一處隱蔽的房頂上張望赞警。 院中可真熱鬧,春花似錦虏两、人聲如沸愧旦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)笤虫。三九已至,卻和暖如春祖凫,著一層夾襖步出監(jiān)牢的瞬間琼蚯,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工惠况, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留遭庶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓稠屠,卻偏偏與公主長(zhǎng)得像峦睡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子完箩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • <<編程基礎(chǔ)-語(yǔ)言JavaScript.Nodejs.Mobile>>https://github.com/ope...
    燕京博士閱讀 933評(píng)論 0 2
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理赐俗,服務(wù)發(fā)現(xiàn),斷路器弊知,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 人們常說(shuō)阻逮,有夢(mèng)想便有了一切。然而秩彤,是否真正了解夢(mèng)想的本質(zhì)叔扼,還不得而知。一切漫雷,都要從頭開(kāi)始瓜富。 首...
    陳穩(wěn)同學(xué)閱讀 312評(píng)論 0 1
  • 黑夜總是美麗誘人,藏著許許多多只有自己知道的故事降盹,遙看萬(wàn)家燈火与柑,祈求這一生一世的安穩(wěn),童話(huà)般的和和美美。 沒(méi)有安全...
    書(shū)辰閱讀 598評(píng)論 0 0
  • 驚雷響徹天空价捧,雷聲隆隆丑念, 吹響聚合的號(hào)令。 同學(xué)們趕快動(dòng)身结蟋, 從天涯脯倚,從海角, 一起向著王寨四中急行嵌屎。 再見(jiàn)那樣的...
    Z0001閱讀 208評(píng)論 2 2