阿里云服務(wù)器項(xiàng)目部署

最近在搞一個(gè)微信小項(xiàng)目,開(kāi)發(fā)代碼已經(jīng)弄好,也順利部署到阿里云服務(wù)器上,其中遇到了一些坑,特此記錄下部署的流程和遇到的坑。

我購(gòu)買阿里云時(shí)服務(wù)器的操作系統(tǒng)選的是ubuntu,純命令行輸入感覺(jué)還是很6的,感覺(jué)自己充滿了黑客氣質(zhì)!

環(huán)境介紹

本地操作系統(tǒng)windows 7 ,使用putty進(jìn)行遠(yuǎn)程ssh連接

阿里云服務(wù)器ECS操作系統(tǒng) ubuntu 14.04

服務(wù)器配置

使用putty連接到遠(yuǎn)程服務(wù)器時(shí)起始只有root用戶,管理員權(quán)限,使用root登錄。

新建普通用戶 :adduser iyoyo

代理權(quán)限 :?gpasswd -a iyoyo sudo

打開(kāi)sudo配置文件 sudo visudo ?添加?iyoyo ALL(ALL:ALL)ALL

修改sshd_config文件(vi /etc/ssh/sshd_config)配置項(xiàng)不讓root登錄 ?permitrootlogin 設(shè)置為 no

重啟ssh ?sudo service ssh restart

安裝程序

Sudo apt-get update

Sudo apt-get install vim openssl build-essential libssl-dev wget curl git

安裝nvm:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

使用nvm安裝node:

nvm install v6.9.5

nvm use v6.9.5

nvm alias default v6.9.5

安裝npm使用國(guó)內(nèi)淘寶源:

npm --registry=https://registry.npm.taobao.org install -g npm

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

使用npm安裝pm2 webpack等:

npm i pm2 webpack gulp grunt-cli -g

安裝nginx

sudo apt-get install nginx

進(jìn)入到/etc/nginx/conf.d文件夾添加conf文件:

sudo vi (your).conf 在文件中添加配置項(xiàng)

重新載入nginx配置sudo nginx -s reload

安裝mongodb

官網(wǎng)上步驟比較明晰?https://docs.mongodb.com/v3.0/tutorial/install-mongodb-on-ubuntu/

代碼部署配置

代碼部署的方式主要是本地代碼提交到碼云私有倉(cāng)庫(kù),服務(wù)器用git從碼云私有倉(cāng)庫(kù)獲取。前提是本地和服務(wù)器都要生成ssh公私鑰,并將公鑰添加到碼云ssh密鑰認(rèn)證列表里。服務(wù)器代碼的獲取與項(xiàng)目啟動(dòng)都是使用pm2進(jìn)行自動(dòng)化操作。

首先本地修改完代碼執(zhí)行本地操作 :?

?git add .?

git commit -m "description"

git push orgin master

代碼提交到私有倉(cāng)庫(kù)后使用本地pm2根據(jù)項(xiàng)目根目錄ecosystem.json文件遠(yuǎn)程控制服務(wù)器pm2自動(dòng)執(zhí)行:

pm2 deploy ecosystem.json production setup

pm2 deploy ecosystem.json production

遇到的坑

我電腦上執(zhí)行pm2 deploy ecosystem.json production時(shí)總是失敗,提示cant open .git/FETCH_HEAD文件,剛開(kāi)始一直覺(jué)得是服務(wù)端用戶權(quán)限問(wèn)題,但是查看iyoyo用戶對(duì).git文件夾的權(quán)限是-rwxrwxrwx是有權(quán)限的,一直找不到原因,網(wǎng)上搜了很長(zhǎng)時(shí)間也搜不出答案,糾結(jié)花費(fèi)了半天時(shí)間。可能是我剛開(kāi)始使用root用戶進(jìn)行的pm2執(zhí)行操作后來(lái)又變成iyoyo導(dǎo)致權(quán)限混亂,最后我把服務(wù)端的項(xiàng)目文件夾下的文件全部刪除。重新進(jìn)行?pm2 deploy ecosystem.json production setup,pm2 deploy ecosystem.json production這兩步操作,最終可以了。

因?yàn)槲业氖莣indows電腦,直接使用cmd打開(kāi)的命令行執(zhí)行pm2命令時(shí)一直執(zhí)行不了,后來(lái)看官網(wǎng)常見(jiàn)問(wèn)題介紹找到解決辦法,使用git bash命令行工具運(yùn)行pm2相關(guān)命令就ok了

參考文章:

aliyun部署: ?https://zhuanlan.zhihu.com/p/20940096,

pm2官網(wǎng):?http://pm2.keymetrics.io/docs/usage/deployment/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容