摘要:前言之前做的幾個(gè)項(xiàng)目都托管在阿里云服務(wù)器,但是最近要到期了。環(huán)境部署折騰了一天,其中也遇到幾個(gè)坑。項(xiàng)目遷移歷時(shí)一天,兩臺(tái)服務(wù)器的系統(tǒng)都是位。
前言
之前做的幾個(gè)項(xiàng)目都托管在阿里云服務(wù)器,但是最近要到期了。想著到底要不要續(xù)期,畢竟100/月。后面看著阿里云有個(gè)活動(dòng),800/三年。果斷買下。環(huán)境部署折騰了一天,其中也遇到幾個(gè)坑。
目錄一、安裝環(huán)境 1.1 安裝NodeJS環(huán)境 1.2 安裝版本控制軟件Git 1.3 安裝MongoDB數(shù)據(jù)庫(kù) 1.4 安裝Nginx 二、導(dǎo)入數(shù)據(jù) 三、安裝項(xiàng)目 四、部署項(xiàng)目 4.1 Nginx配置 4.2 啟用HTTPS 4.3 使用PM2部署項(xiàng)目 4.4 開啟阿里云外網(wǎng)訪問 五、踩坑記錄 5.1 數(shù)據(jù)庫(kù)導(dǎo)入失敗 5.2 PM2部署失敗一、安裝環(huán)境
為了保證項(xiàng)目運(yùn)行不出問題,在新服務(wù)器安裝和原服務(wù)器一致的環(huán)境。項(xiàng)目遷移歷時(shí)一天,兩臺(tái)服務(wù)器的系統(tǒng)都是Ubuntu 16.04 64位。
1.1 安裝NodeJS環(huán)境自帶的NodeJS版本是4.2.6,版本有點(diǎn)低,使用npm的n模塊更新到最新版。
安裝NPM
sudo apt-get install npm
使用淘寶源
阿里云訪問npm的速度非常慢,這里通過設(shè)置,讓NPM從淘寶鏡像更新模塊
npm set registry https://registry.npm.taobao.org // 設(shè)置從淘寶鏡像更新 npm set disturl https://npm.taobao.org/dist npm cache clean // 清除緩存
更新NodeJS
npm install n // 更新NodeJS的模塊 n stable // 更新到最新穩(wěn)定版 node -v // v8.2.11.2 安裝版本控制軟件Git
sudo apt-get install git1.3 安裝MongoDB數(shù)據(jù)庫(kù)
sudo apt-get install mongodb // 安裝MongoDB service mongodb start // 啟動(dòng)服務(wù) mongod // 進(jìn)入交互式控制臺(tái),能加入說明啟動(dòng)成功,ctrl+c退出1.4 安裝Nginx
sudo apt-get install nginx // 安裝Nginx二、導(dǎo)入數(shù)據(jù)
把以前的數(shù)據(jù)庫(kù)完整的遷移過來(lái)
從源服務(wù)器導(dǎo)出數(shù)據(jù)庫(kù)
mongodump -h localhost --port 27017 -d test -o database_dump
導(dǎo)入MongoDB數(shù)據(jù)庫(kù)
mongorestore -d test database_dump/test三、安裝項(xiàng)目
項(xiàng)目是在Github開源,直接拉取就行。
git clone https://github.com/bergwhite/nchat.git // 克隆項(xiàng)目 cd nchat // 進(jìn)入目錄 npm install 安裝模塊 npm run build四、部署項(xiàng)目 4.1 Nginx配置
vim /etc/nginx/nginx.conf // 編輯Nginx的配置 http { server { listen 80; server_name hostName; rewrite ^(.*) https://$server_name$1 permanent; } server { listen 443 ssl; server_name hostName; ssl on; # SSL證書會(huì)插入到這里 # 完整根目錄 location / { root /*/*/*; index index.html; } # 反向代理V2EX API到本地,解決跨域問題 location /api/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass https://www.v2ex.com/api/; } } ...4.2 啟用HTTPS
sudo apt-get update // 更新軟件源 sudo apt-get install software-properties-common // 安裝 sudo add-apt-repository ppa:certbot/certbot // 添加倉(cāng)庫(kù) sudo apt-get update // 更新軟件源 sudo apt-get install python-certbot-nginx // 安裝 sudo certbot --nginx // 生成證書(自動(dòng)添加到Nginx) sudo certbot --nginx certonly // 生成證書(手動(dòng)添加到Nginx)4.3 使用PM2部署項(xiàng)目
sudo apt-get install pm2 // 安裝pm24.4 開啟阿里云外網(wǎng)訪問
在安全組里添加需要放行的NodeJS項(xiàng)目端口即可。
五、踩坑記錄 5.1 數(shù)據(jù)庫(kù)導(dǎo)入失敗導(dǎo)入數(shù)據(jù)庫(kù)的時(shí)候,有一個(gè)Collection沒有導(dǎo)入成功
Assertion failure amt == (size_t)( size - 4 ) src/mongo/tools/tool.cpp 330
解決方案
把報(bào)錯(cuò)的Collection多帶帶導(dǎo)出,然后重新導(dǎo)入到新服務(wù)器的數(shù)據(jù)庫(kù)5.2 PM2部署失敗
運(yùn)行下面的代碼會(huì)失敗
pm2 start -i 0 --name test ./bin/www
解決方案
使用fork模式啟動(dòng)
pm2 start --name nchat3 ./bin/www參考連接
讓NPM從淘寶鏡像更新模塊
MongoDB備份和恢復(fù)
Ubuntu下的Nginx配置HTTPS
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19064.html
摘要:前言之前做的幾個(gè)項(xiàng)目都托管在阿里云服務(wù)器,但是最近要到期了。環(huán)境部署折騰了一天,其中也遇到幾個(gè)坑。項(xiàng)目遷移歷時(shí)一天,兩臺(tái)服務(wù)器的系統(tǒng)都是位。 前言 之前做的幾個(gè)項(xiàng)目都托管在阿里云服務(wù)器,但是最近要到期了。想著到底要不要續(xù)期,畢竟100/月。后面看著阿里云有個(gè)活動(dòng),800/三年。果斷買下。環(huán)境部署折騰了一天,其中也遇到幾個(gè)坑。 目錄 一、安裝環(huán)境 1.1 安裝NodeJS環(huán)境 ...
摘要:第一篇教程緊緊讓你輸出一個(gè)環(huán)境介紹服務(wù)器環(huán)境位本地環(huán)境位連接工具安裝和基本配置我的是在阿里云買的,購(gòu)買的時(shí)候鏡像選擇,現(xiàn)在在搞活動(dòng)比較便宜,我買的香港地區(qū)的不用備案,購(gòu)買后本地打開,點(diǎn)擊,輸入確定,輸入,然后輸入密碼,會(huì)看到下面的界面連接遠(yuǎn) 第一篇教程緊緊讓你輸出一個(gè)hello world 環(huán)境介紹 服務(wù)器環(huán)境:ubuntu(16.04)64位本地環(huán)境:windows10 64位連接工...
摘要:創(chuàng)建成功后進(jìn)入文件夾執(zhí)行執(zhí)行作用創(chuàng)建文件,維護(hù)項(xiàng)目的依賴文件解釋創(chuàng)建文件執(zhí)行作用用系統(tǒng)的編輯器打開文件。我的技術(shù)新群上一篇前后端分離項(xiàng)目實(shí)踐分析下一篇公司項(xiàng)目實(shí)踐 一、前言 前端如何獨(dú)立用nodeJs實(shí)現(xiàn)一個(gè)簡(jiǎn)單的注冊(cè)、登錄功能,是不是只用nodejs+sql就可以了?其實(shí)是可以實(shí)現(xiàn),但離實(shí)際應(yīng)用還有距離,那要怎么做才是實(shí)際可用的。 網(wǎng)上有很多nodeJs的示例,包括和 sql /...
閱讀 646·2021-09-22 10:02
閱讀 6410·2021-09-03 10:49
閱讀 571·2021-09-02 09:47
閱讀 2157·2019-08-30 15:53
閱讀 2936·2019-08-30 15:44
閱讀 908·2019-08-30 13:20
閱讀 1822·2019-08-29 16:32
閱讀 895·2019-08-29 12:46