在學(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
- 上傳前端文件
先npm run build打包,然后進(jìn)入到build目錄下,運(yùn)行上面的scp命令,我的文件是傳入到了root下面的www目錄,root下面需要自己創(chuàng)建www目錄(mkdir www) - 上傳后端文件
進(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/
- 安裝mongodb(參考https://www.cnblogs.com/wanghy898/p/10901092.html)
五、配置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
