阿里雲centOS部署vue全家桶+node+koa2+mongo項目

寫在前面html

文章有丟丟長,前端開發第一次部署項目,有問題請及時提出,以避免誤導其餘童鞋,輕拍~,前端

更新系統

sudo yum updatenode

安裝mongo

1. 添加MongoDB源

在/etc/yum.repos.d/下建立名爲mongodb-org-4.0.repo文件。並在文件中添加以下內容linux

[mongodb-org-4.0]
name=MongoDB Repository
baseurl= https://repo.mongodb.org/yum/...$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey= https://www.mongodb.org/stati...

2. 安裝

sudo yum install -y mongodb-org

3. 配置MongoDB及其餘

MongoDB的配置文件位於/etc/mongod.confgit

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

把127.0.0.1 改爲0.0.0.0, 緣由見註釋。github

啓動和中止MongoDBmongodb

sudo systemctl start mongod
sudo systemctl restart mongod
sudo systemctl stop mongod

設置開機自啓數據庫

sudo systemctl enable mongod

4. 配置阿里雲服務器端口

此項不是必須,本地鏈接遠程數據庫調試、查看方便些就開啓
因爲centos只開啓了一些基礎端口(如80),其餘都關閉,要本身配置。
(當時我明明把mongodb啓動了,本地就是訪問不了遠程)npm

順便把你後臺接口端口開下。
(配置端口方法在文末)後端

5. 驗證

(阿里雲沒開端口就訪問不了)
在本身瀏覽器中輸入你服務器地址加端口號,例如: http://133.xxx.xx.xx:27017,若界面友好,如出現

It looks like you are trying to access MongoDB over HTTP on the native driver port.

恭喜你,完成!

安裝詳細及安全認證請點擊 https://cloud.tencent.com/dev...

官方文檔傳送門: https://docs.mongodb.com/manu...

6. 基本操做

建立數據庫 ,不存在會建立,不創建集合又會刪除
use mydb;

switched to db mydb

建立集合
db.createCollection('a')

{ "ok" : 1 }

在集合中插入數據
db.a.insert({"id":1,"name":"zhangsan"})

WriteResult({ "nInserted" : 1 })

查看集合中的數據
db.a.find()
查找指定記錄並賦予別名a,查看屬性類型
b=db.a.findOne({"id":1})
{
"_id" : ObjectId("5b4c54bc8a4352592ecc288f"),
"id" : 1,
"name" : "zhangsan"

}

typeof(b.id)
number
更改數據
db.a.update({"id":1},{$set:{"name":"tom"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.a.find()
{ "_id" : ObjectId("5b4c54bc8a4352592ecc288f"), "id" : 1, "name" : "tom" }
查看集合
show collections
a
刪除集合
db.a.drop()
true
刪除數據庫
db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }
複製數據庫
db.copyDatabase("mydb","mydb1")
{ "ok" : 1 }
show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB
mydb 0.000GB
mydb1 0.000GB

基本操做源於網上,地址不記得在哪裏(之前複製的筆記)


安裝node

安裝Nodejs ---- v10.15.0版本

# cd /opt/app
# mkdir nodejs
# cd nodejs 
# wget https://npm.taobao.org/mirrors/node/v10.15.0/node-v10.15.0-linux-x64.tar.xz    // 下載
# tar xf  node-v10.15.0-linux-x64.tar.xz       // 解壓
# cd node-v10.15.0-linux-x64/                  // 進入解壓目錄
# ./bin/node -v                               // 執行node命令 查看版本

設置軟鏈接

# ln -s /opt/app/nodejs/node-v10.15.0-linux-x64/bin/npm   /usr/local/bin/ 
# ln -s /opt/app/nodejs/node-v10.15.0-linux-x64/bin/node   /usr/local/bin/

安裝taobao鏡像

npm config set registry https://registry.npm.taobao.org

驗證下

npm config get registry

參考連接: https://blog.51cto.com/169334...

(他那個少了寫了cd nodejs 步驟,會致使設置軟鏈接失敗,設置軟鏈接node程序路徑上有nodejs文件夾)


安裝git

此項非必須。
因爲本項目是經過git作版本控制,若直接複製文件到服務器就不用安裝git

1.安裝

yum install -y git

安裝完成後,輸入git試下,

2.卸載

yum remove git


http-server 服務器

全局安裝

npm install http-server -g

用法

http-server [path] [options]

[path] 默認路徑: 若是當前目錄有public文件夾,則path爲./public, 不然path爲當前目錄./

配置項

配置 名稱 默認值
-p 端口 8080
-a 地址 0.0.0.0

舉個栗子

http-server -a 0.0.0.0 -p 8000

注意: 啓動後臺服務,該端口必定要在阿里雲配置,不然訪問不了(配置端口方法在文末)

官方文檔: https://www.npmjs.com/package...


基本工做已完成。

開始部署

# cd /var/www/html/    //沒有該目錄則新建 mkdir 文件夾名
# git clone 項目地址
# npm i
# npm run build
# http-server -a 0.0.0.0 -p 8080 //後端服務
# cd dist/
# http-server -a 0.0.0.0 -p 80 // 前端代碼

其餘

途中遇到幾個問題

  1. 遠程終端開啓服務,關了終端服務就停了
  2. npm i 各類問題,改用yarn包管理
  3. 配置域名
  4. 服務器有點慢,用oss靜態文件託管
  5. 阿里雲服務器怎麼開端口

問題1: 遠程終端開啓服務,關了終端服務就停了

1.安裝forever
npm install forever -g
[root@iZ2ze7ggih5sha1231siavrvZ hope]# npm install forever -g
/opt/app/node-v10.15.0-linux-x64/bin/forever -> /opt/app/node-v10.15.0-linux-x64/lib/node_modules/forever/bin/forever
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.8 (node_modules/forever/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.8: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

+ forever@1.0.0
added 247 packages from 152 contributors in 13.696s
2. 使用
[root@iZ2ze7ggih5sha13siavrvZ bin]# forever
-bash: forever: command not found

咦? 找不到命令?

緣由: 未設置軟鏈接(相似window中的快捷方式)

[root@iZ2ze7ggih5sha1231siavrvZ bin]# ln -s /opt/app/node-v10.15.0-linux-x64/bin/forever  /usr/local/bin/  //別直接複製我這句!得看你的forever裝在哪裏,安裝位置看安裝時打印的日誌,如我上面顯示。

[root@iZ2ze7ggih5sha1231siavrvZ bin]# forever 
help:    usage: forever [action] [options] SCRIPT [script-options]
help:    
# 如下省略····

ln -s 程序bin所在位置 複製到目標位置 //ln 理解爲link -s save (我的理解)

啓動服務

forever start app.js  //啓動
forever stop app.js  //關閉
forever list // 查看啓動的服務列表

forever -h //不會操做就找help吧~

forever 官方: https://github.com/foreverjs/...


問題2:npm 包管理改爲yarn包管理

安裝

npm install yarn -g

設置軟連接

ln -s /opt/app/node-v10.15.0-linux-x64/bin/yarn /usr/local/bin/ //別直接複製,先看本身yarn bin在哪

npm 經常使用命令對比

npm yarn 做用
npm install yarn install 安裝全部模塊
npm install [package] yarn add [package] 添加模塊
npm install [package] --save-dev yarn add [package] --dev 添加模塊
npm uninstall [package] yarn remove [package] 卸載模塊

具體用法詳見官方文檔: https://yarnpkg.com/zh-Hans/d...

3. 配置域名

阿里雲後臺-->域名管理-->解析-->添加記錄-->剩下的一步步看就行了
圖片描述
圖片描述
圖片描述
圖片描述
圖片描述

4. 用oss(文件對象存儲)靜態文件託管

前端代碼可直接託管到oss,速度快。流量比較大的就開啓cdn,畢竟流量也要錢。

  1. 阿里雲後臺-->對象存儲-->新建bucket(必定要設置成公有讀,否則訪問還得帶鑑權?)
  2. 右側bucket列表 ---》概覽--->訪問域名-->複製bucket域名&&外網訪問的那個地址,在本身域名管理中解析到這地址
  3. -->基礎設置--->靜態頁面-->設置首頁
  4. --->基礎設置旁邊的域名管理-->綁定你的域名

圖片描述
圖片描述
圖片描述
圖片描述
圖片描述

5. 阿里雲服務器怎麼開端口

假設你已經看到右側列表是

  • 實例詳情
  • 本實例磁盤
  • 本實例快照
  • 本實例彈性網卡
  • 本實例安全組
  • 本實例安全防禦
  1. 本實例安全防禦 --->安全組列表--->配置規則-->快速建立規則-->填寫你的端口號,受權對象填0.0.0.0/0

以上就是所有內容啦~
圖片描述
圖片描述
圖片描述

圖片描述

相關文章
相關標籤/搜索