部署阿里雲( centos + nodejs + mongodb + vue)
vue 打包->dist copy -> node項目>public -> 服務器上
前端工程|后端工程|庫文件 -》 雲服務上面
服務器類型: 部署阿里雲(centos + nodejs + mongodb + vue)
二、使用finalShell連接服務器
1. 安裝 finalShell
2. 啟動 finalShell
新建會話:
主機:公網IP
端口 : 22
用戶身份驗證:
用戶名:root
密碼: 登錄密碼
三、給服務器安裝環境(node + vue訪問json)
1、安裝node
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install -y nodejs
檢測: node -v
四、上傳代碼(前端|后端)
1. 創建空的node環境: express -s .
2. vue 打包: npm run build -> dist
3. dist里面的文件 copy -> 空node 項目的 public下面
4. 把node項目 -》 拖拽到 finalSheel>/usr/local/創建目錄/
5. http://公網ip:3000
問題:服務器代碼數據庫都已上傳,但是訪問不了
分析: 很可能是3000端口不能被使用, 需要添加"安全組規則"
解決: 找到管理->安全組-》配置規則-》添加規則-》端口范圍(3000/3000),授權對象(0.0.0.0/0)
問題: finalSheel關閉后:服務停止 瀏覽器就不可以訪問了
解決:
npm i pm2 -g
cd /usr/local/你的目錄
pm2 start ./bin/www
瀏覽器訪問項目即可
ip地址:3000















部署阿里雲( centos + nodejs + mongodb + vue)
vue 打包->dist copy -> node項目>public -> 服務器上
前端工程|后端工程|庫文件 -》 雲服務上面
服務器類型: 部署阿里雲(centos + nodejs + mongodb + vue)
簡潔:
----------------------------------
一、買服務器(機器)
1. 學生特惠24:
https://promotion.aliyun.com/ntms/act/campus2018.html?spm=5176.230344.1224685.2.3b84443e9LLgUu
雲服務器ECS
root/@Root123
普價:
https://promotion.aliyun.com/ntms/act/qwbk.html?spm=5176.8112568.420890.1.7e469ed538CFBL
2. 支付寶-》注冊-》實名認證填寫身份證的信息-》ecs
3. 重設密碼(登錄密碼):
ecs服務器->實例->更多->重置實例密碼
用戶名默認: root
重啟實例 @Root123
二、使用finalShell連接服務器
1. 安裝 finalShell
2. 啟動 finalShell
新建會話:
主機:公網IP
端口 : 22
用戶身份驗證:
用戶名:root
密碼: 登錄密碼
三、給服務器安裝環境(node + vue訪問json)
1、安裝node
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install -y nodejs
檢測: node -v
四、上傳代碼(前端|后端)
1. 創建空的node環境: express -s .
2. vue 打包: npm run build -> dist
3. dist里面的文件 copy -> 空node 項目的 public下面
4. 把node項目 -》 拖拽到 finalSheel>/usr/local/創建目錄/
5. http://公網ip:3000
問題:服務器代碼數據庫都已上傳,但是訪問不了
分析: 很可能是3000端口不能被使用, 需要添加"安全組規則"
解決: 找到管理->安全組-》配置規則-》添加規則-》端口范圍(3000/3000),授權對象(0.0.0.0/0)
問題: finalSheel關閉后:服務停止 瀏覽器就不可以訪問了
解決:
npm i pm2 -g
cd /usr/local/你的目錄
pm2 start ./bin/www
瀏覽器訪問項目即可
ip地址:3000
----------------------------------
高級:
----------------------------------
一、買服務器(機器)
1. 成人特惠: https://promotion.aliyun.com/ntms/act/qwbk.html?spm=5176.8112568.420890.1.67ae9ed5edEDHe
雲服務器ECS
2. 支付寶-》注冊-》實名認證填寫身份證的信息-》ecs
3. 手動停止服務器 ----> 初始化磁盤 ---> 重設密碼(登錄密碼)
二、使用finalShell連接服務器
1. 安裝 finalShell
2. 啟動 finalShell
新建會話:
主機:公網IP
端口 : 22
用戶身份驗證:
用戶名:root
密碼: 登錄密碼
三、給服務器安裝環境(node + mongodb)
1、安裝node
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install -y nodejs
檢測: node -v
使用NVM安裝多版本(可選)
2.1 yum install git
2.2 git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
2.3 echo ". ~/.nvm/nvm.sh" >> /etc/profile
2.4 source /etc/profile
2.5 cd /
2.6 nvm list-remote
nvm install vx.x.x
nvm use vx.x.x
安裝解壓文件模塊
yum install unzip
安裝文件傳輸工具(可選)
yum -y install lrzsz
2. npm i pm2 -g
四、上傳代碼(前端|后端)
1. vue 打包: npm run build
2. 本地測試生成環境
npm i serve -g
serve -s dist -l 8080
問題 : 生成環境下 不能訪問 3000
原因 : 生成環境下代理是無效的
解決: 服務器端 安裝ngnix 來完成代理
3. 拷貝 dist -> node的public下面 + 本地測試(啟動node服務)
4. 整合好的node 拖到 finalShell 下面
5. npm i -》 npm start | pm2 start ./bin/www
6. 問題: 沒有庫
六、給服務器安裝mongodb服務
安裝mongodb
yum install mongodb-server mongodb -y
創建數據庫目錄和日志目錄
mkdir -p /data/db
mkdir -p /data/logs/db
啟動數據庫
mongod --fork --dbpath /data/db --logpath /data/logs/db/nodeapp.log
創建遠程數據庫(與本地操作一樣)可選
use 庫、db.集合.save、
七、本地數據庫copy到遠程庫
本地出庫:
需要先導出本地的數據 -> json
mongoexport -h 127.0.0.1 -d 庫名 -c 集合名 -o 輸出路徑/xx.json
上傳: json -> finalShell上傳到遠端磁盤 -》 遠端
遠端入庫:
json -> 導入數據庫
mongoimport -d 遠端庫 -c 集合 -file 服務器json路徑/xx.json
----------------------------------
問題0: 關閉finalShell ,服務斷了
安裝pm2, nodejs服務器管理器 (npm i pm2 -g)
啟動服務器:pm2 start 啟動文件.js
瀏覽器訪問項目即可
如果想停掉服務器: pm2 stop all
Pm2擴展:https://blog.csdn.net/chengxuyuanyonghu/article/details/74910875
問題1:如果關閉xshell之后,再次打開發現之前安裝的模塊都無效了,
分析: 安裝了多版本node環境導致
解決:
a) 輸入nvm ls 查看可用的node的版本,-->手動指向nvm use當前使用的node版本
b) 使用nvm install vx.x.x,之后使用nvm alias default vx.x.x可以不用每次進入服務器都要nvm use了***
問題2:可以有多個app?使用一個實例?
分析:app指向不同端口就好了
解決:app指向不同端口,安全組里添加多個端口,pm2 進入到對應服務器位置,逐個啟動,如果端口重復,先啟用的應用會占用端口
問題3:本地代碼對應有哪些變動
mongodb://localhost:27017 可不用動,遠端訪問的也是localhost
io(‘http://localhost:3000’)->io(‘http://服務器ip:3000’)
問題4: 不想要端口可以?,
分析:使用http協議默認的80端口
解決: 修改本地的端口號指向80,安全組添加80
問題5: 不使用ip,使用網址
分析: 是一個IP和域名關聯的過程
解決:
域名購買:
https://promotion.aliyun.com/ntms/act/domainbrand.html?spm=5176.8112568.483655.2.67ae9ed5edEDHe
域名解析:
域名-》解析-》添加記錄->記錄值(ip)
www:解析后的域名為www.aliyun.com。
@:直接解析主域名 aliyun.com。
二級域名:如:abc.aliyun.com,填寫abc。
備案: 特惠專區-》域名與網站->域名新手多重禮(實名,備案15工作日)
未備案不可使用一級域名和端口省略
問題6: 不備案有什么影響
小程序上線時不能部署
沒有域名不便於宣傳
無法使用https安全協議訪問
問題7: 啟用https訪問
SSL證書->獲取https免費證書->配置(node服務器使用https模塊響應)
獲取https免費證書:
https://yq.aliyun.com/articles/221596?spm=5176.10695662.1996646101.searchclickresult.1dec5d98Oy3WNE
下載: 證書通過后->下載 other類型的 xx.key/xx.pem 下載到-> bin/www
配置:
node配置: bin/www
var https = require('https');
const fs = require('fs');
const port=443;
app.set('port', port);
const options = {
key: fs.readFileSync('./bin/1826016_uncle9.top.key'),//指向key
cert: fs.readFileSync('./bin/1826016_uncle9.top.pem'),
};
var server = https.createServer(options,app);//查看nodejs.cn>https模塊
安全組規則:添加443
問題8: 如何添加二級域名 xx.uncle9.top
域名->管理->域名解析
問題9: 如何在瀏覽器訪問uncle9.top是自動跳轉到https
https://blog.csdn.net/chwshuang/article/details/52443274
阿里雲服務器 ECS 部署lamp:centos+apache+mysql+php安裝配置方法 (centos7)
https://www.cnblogs.com/mike-mei/p/7554591.html
