react、egg、mongdb項(xiàng)目部署到阿里云

在學(xué)習(xí)react后,自己仿照茶藝網(wǎng)寫(xiě)了個(gè)網(wǎng)站,大致功能完成后需要部署到線上,記錄下部署過(guò)程。

一、購(gòu)買(mǎi)阿里云服務(wù)器

這一步?jīng)]啥好說(shuō)的,按照阿里云官方的步驟直接走就行,我選的默認(rèn)系統(tǒng)(Alibaba Cloud Linux 2.1903 LTS 64位 快速啟動(dòng)版)

二、連接到服務(wù)器

進(jìn)入控制臺(tái)到ecs實(shí)例后,點(diǎn)擊遠(yuǎn)程連接,選擇workbench


image.png

用戶(hù)名會(huì)默認(rèn)填好,只需要輸入密碼就行

三、上傳前端和后端文件到服務(wù)器

使用scp命令將本地文件上傳到服務(wù)器(如果有ftp等,可使用ftp工具上傳)

scp -r ./* root@你的公網(wǎng)ip:你要上傳的目錄
例如 scp -r ./* root@1.1.1.1:/root/www
  1. 上傳前端文件
    先npm run build打包,然后進(jìn)入到build目錄下,運(yùn)行上面的scp命令,我的文件是傳入到了root下面的www目錄,root下面需要自己創(chuàng)建www目錄(mkdir www)
  2. 上傳后端文件
    進(jìn)入存放后端文件的目錄下(記得把node_modules刪除),使用scp命令將文件上傳到服務(wù)器,我是傳入到了root下面的services(也需要自己創(chuàng)建)

四、下載node、mongodb、nginx

  • 安裝nginx
yum update
yum install nginx
  • 安裝node
//下載壓縮包
wget https://npm.taobao.org/mirrors/node/v14.16.0/node-v14.16.0-linux-x64.tar.xz
//解壓
tar -xvf node-v14.16.0-linux-x64.tar.xz
//創(chuàng)建npm和node的軟連接
ln -s /usr/local/node-v14.16.0-linux-x64/bin/node /usr/local/bin/
ln -s /usr/local/node-v14.16.0-linux-x64/bin/npm /usr/local/bin/

五、配置nginx

進(jìn)入到nginx的安裝目錄

vi nginx.conf(按 i 進(jìn)行編輯,esc退出編輯,:wq退出當(dāng)前文件)
修改代理配置
server {
     listen       80;
     server_name  www.xxx.xxx; //如果申請(qǐng)域名了可以配置域名,沒(méi)有就配置公網(wǎng)ip
     location / {
          root   /root/www; //前端文件存放的目錄
         index  index.html index.htm;
     }
    location ~/api/ { //接口代理,匹配到api開(kāi)頭的接口都代理到7001端口,0.0.0.0這個(gè)地址在服務(wù)端表示所有的IPV4地址,可以代理到這個(gè)地址
        proxy_pass   http://0.0.0.0:7001;
    }
}

使用nginx命令啟動(dòng)nginx,nginx -s reload重啟nginx

六、導(dǎo)出/導(dǎo)入mongdb的數(shù)據(jù)

  • 導(dǎo)出
    可以使用mongoDB compass導(dǎo)出數(shù)據(jù)


    image.png

進(jìn)入到你導(dǎo)出的數(shù)據(jù)目錄下,使用scp命令將json文件上傳到服務(wù)器,我傳到了root下的data文件夾

  • 導(dǎo)入
    進(jìn)入到mongodb的bin目錄下執(zhí)行
./mongoimport -d 你的表名 -c 你的集合名稱(chēng) -jsonArray --file 服務(wù)器上存放數(shù)據(jù)的地址
例如 ./mongoimport -d tea -c user --jsonArray --file /root/data/user.json
如果設(shè)置了用戶(hù)密碼使用下面命令導(dǎo)入
./mongoimport -u 用戶(hù)名 -p 密碼  -d tea -c user --jsonArray --file /root/data/user.json
tea是我的表名,user是用戶(hù)的集合  后面是我的用戶(hù)數(shù)據(jù)

使用mongod  --bind_ip 0.0.0.0 --dbpath ./data/db --logpath ./log/mongodb.log --fork啟動(dòng)mongo數(shù)據(jù)庫(kù)

七、啟動(dòng)node服務(wù)

啟動(dòng)項(xiàng)目

npm start

使用forever守護(hù)node服務(wù) npm i forever -g

forever start services

八、修改www文件目錄權(quán)限(如果打開(kāi)頁(yè)面不報(bào)403的話不用配置)

進(jìn)入root/下執(zhí)行這兩行命令

#修改文件類(lèi)型權(quán)限
find ./ -type f|xargs chmod 644
#修改文件夾類(lèi)型權(quán)限
find ./ -type d|xargs chmod 755

參考文章:https://blog.csdn.net/xiamocsdn/article/details/100535519

最后編輯于
?著作權(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)容