成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

阿里云輕量應(yīng)用服務(wù)器部署Node項(xiàng)目手記

KaltZK / 2043人閱讀

摘要:本地和服務(wù)器環(huán)境本地位服務(wù)器阿里云輕量應(yīng)用服務(wù)器使用的連接工具當(dāng)然還有這幾個(gè)中任選一個(gè)就好啦。連接工具使用方法創(chuàng)建填入服務(wù)器地址和用戶名,點(diǎn)擊確認(rèn)然后輸入密碼即可。執(zhí)行測試項(xiàng)目新建項(xiàng)目文件。使用編輯器打開項(xiàng)目文件。

本地和服務(wù)器環(huán)境

本地:Windows10 64位

服務(wù)器:阿里云輕量應(yīng)用服務(wù)器CentOS 7.3

使用的連接工具:
putty
mobaxterm
當(dāng)然還有Xshell這幾個(gè)中任選一個(gè)就好啦。

連接工具使用方法:
創(chuàng)建session>ssh填入服務(wù)器IP地址和用戶名(root),點(diǎn)擊確認(rèn)然后輸入密碼即可。
(這個(gè)是mobaxterm的使用方法,其他的也都一個(gè)套路。)

Node環(huán)境搭建

使用wget命令下載Node包

wget https://nodejs.org/dist/v8.10.0/node-v8.10.0-linux-x64.tar.xz

解壓文件

tar xvf node-v8.10.0-linux-x64.tar.xz

創(chuàng)建軟連接,主要是為了命令可以全局有效

ln -s /root/node-v8.10.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v8.10.0-linux-x64/bin/npm /usr/local/bin/npm

查看是否成功

node -v
npm -v

備注 :當(dāng)然也可以采用其他的方式搭建node運(yùn)行環(huán)境,例如使用NVM下載,具體的我就不列出了。

執(zhí)行測試項(xiàng)目

新建項(xiàng)目文件example.js。

cd ~
touch example.js

使用vim編輯器打開項(xiàng)目文件example.js。

yum install vim
vim example.js

輸入"i",進(jìn)入編輯模式,將以下項(xiàng)目文件內(nèi)容粘貼到文件中。使用"Esc"按鈕,退出編輯模式,輸入":wq",回車,保存文件內(nèi)容并退出(這里的0.0.0.0相當(dāng)于windows的127.0.0.1)

const http = require("http");
const hostname = "0.0.0.0";
const port = 80;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader("Content-Type", "text/plain");
res.end("Hello World!
");
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});

運(yùn)行項(xiàng)目

node ~/example.js

//也可以用下面的代碼后臺(tái)運(yùn)行
node ~/example.js &//后臺(tái)運(yùn)行
netstat -tpln//查看端口運(yùn)行情況

在瀏覽器打開http://IP:80
如果看到Hello World,恭喜部署成功

這里有幾個(gè)需要注意的

如果你用后臺(tái)運(yùn)行以后,這個(gè)端口會(huì)被占用,如何關(guān)閉

netstat -tpln//查看端口pid
kill -9 pid

備注 : 此時(shí)防火墻是關(guān)閉的。(not running

當(dāng)我嘗試打開防火墻,將端口添加到例外,并在端口(3000)上運(yùn)行時(shí),使用公網(wǎng)IP出現(xiàn)了訪問不了的情況,不知道有哪位大神可以大概說明一下原因?

可以看到端口已經(jīng)添加到例外了:

Firewalls常用防火墻命令

1.查看防火墻是否在運(yùn)行 ?

firewall-cmd --state

?

2.查看都有哪些端口添加到例外

firewall-cmd --permanent --list-port ??
permanent 永久配置

?

3.添加端口到例外

firewall-cmd --permanent --zone=public --add-port=3000/tcp

4.查看永久例外的端口列表

[root@localhost ~]# firewall-cmd --permanent --list-port
// 80/tcp 3000/tcp

5.刪除端口例外

firewall-cmd --permanent --remove-port=80/tcp

6.查看端口列表

[root@localhost ~]# firewall-cmd --permanent --list-port
// 3000/tcp

7.停止firewald防火墻

systemctl stop firewalld

8.啟動(dòng)firewalld防火墻

systemctl start firewalld
持續(xù)運(yùn)行

前面的所有完成以后,如何讓這個(gè)node進(jìn)程一直活著呢?

全局安裝cnpm,可以大大的提升下載速度

npm install -g cnpm --registry=https://registry.npm.taobao.org

安裝pm2

cnpm install -g pm2

pm2使用

pm2 start example.js  //啟動(dòng)服務(wù)
pm2 list //查看啟動(dòng)的應(yīng)用  
pm2 show example.js //查看詳細(xì)信息  
pm2 logs //查看當(dāng)前信息  
pm2 stop example.js //停止example  
pm2 delete example.js //刪除example

Linux平臺(tái)安裝MongoDB

MongoDB 提供了 linux 各發(fā)行版本 64 位的安裝包,你可以在官網(wǎng)下載安裝包。
下載地址:https://www.mongodb.com/downl...

下載安裝包,并解壓:
// 下載
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.3.tgz
// 解壓
tar -zxvf mongodb-linux-x86_64-amazon-3.6.3.tgz
// 將解壓的包添加到指定目錄
mv mongodb-linux-x86_64-amazon-3.6.3/ /usr/local/mongodb
添加到 PATH 路徑中:

MongoDB 的可執(zhí)行文件位于 bin 目錄下,所以可以將其添加到 PATH 路徑中。

export PATH=/bin:$PATH

為你 MongoDB 的安裝路徑。如本文的 /usr/local/mongodb 。

創(chuàng)建數(shù)據(jù)庫目錄

MongoDB的數(shù)據(jù)存儲(chǔ)在data目錄的db目錄下,但是這個(gè)目錄在安裝過程不會(huì)自動(dòng)創(chuàng)建,所以你需要手動(dòng)創(chuàng)建data目錄,并在data目錄中創(chuàng)建db目錄。
以下實(shí)例中我們將data目錄創(chuàng)建于根目錄下(/)。
注意:/data/db 是 MongoDB 默認(rèn)的啟動(dòng)的數(shù)據(jù)庫路徑(--dbpath)。
mkdir -p /data/db

命令行中運(yùn)行 MongoDB 服務(wù)

你可以再命令行中執(zhí)行mongo安裝目錄中的bin目錄執(zhí)行mongod命令來啟動(dòng)mongdb服務(wù)。
注意:如果你的數(shù)據(jù)庫目錄不是/data/db,可以通過 --dbpath 來指定。

MongoDB后臺(tái)管理 Shell

如果你需要進(jìn)入MongoDB后臺(tái)管理,你需要先打開mongodb裝目錄的下的bin目錄,然后執(zhí)行mongo命令文件。
MongoDB Shell是MongoDB自帶的交互式Javascript shell,用來對MongoDB進(jìn)行操作和管理的交互式環(huán)境。

MongoDB常用的一些命令

MongoDB是一個(gè)基于分布文件存儲(chǔ)的數(shù)據(jù)庫,是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品。

show dbs  // 顯示所有數(shù)據(jù)庫的列表
use local // 連接到一個(gè)指定的數(shù)據(jù)庫,不存在則創(chuàng)建
登陸數(shù)據(jù)庫:

使用用戶名和密碼連接登錄到指定數(shù)據(jù)庫:

mongodb://admin:123456@localhost/test
切換數(shù)據(jù)庫:
use local   // 切換到該數(shù)據(jù)庫下
show tables  //查看所有的集合(數(shù)據(jù)表)
db.site.drop() // 刪除site這個(gè)集合(數(shù)據(jù)表)
創(chuàng)建集合:
db.createCollection(name,options);
// eg: 創(chuàng)建固定大小的集合
db.createCollection("mycol",{
    capped:true,
    autoIndexId:true, // 自動(dòng)在_id字段創(chuàng)建索引
    size:6142800, // 整個(gè)集合大?。╧B)
    max:10000  //文檔最大個(gè)數(shù)(數(shù)據(jù)條數(shù))
});    

當(dāng)你插入文檔時(shí),MongoDB會(huì)自動(dòng)創(chuàng)建集合:
db.mycol2.inset({"name":"bjw"});
      
更新文檔:
db.collection.update({
    , // 查詢條件
    , // 更新的對象
    { upsert:, // 不存在是否插入,默認(rèn)false,true為插入
      multi:, // 默認(rèn)false,只更新找到的第一條數(shù)據(jù)
      writeConcern:
    }    
});

// eg:
db.col.update(
    {"name":"admin"},
    {$set:{"passowrd":"123"}},
    {multi:true} // 更新多條數(shù)據(jù)
);
刪除文檔:

在執(zhí)行remove函數(shù)之前,先執(zhí)行find()命令來判斷執(zhí)行的條件是否正確。(習(xí)慣問題)

db.collection.remove(
        , // 條件 
         // justOne:true 只刪除找到的第一個(gè)文檔
);
查詢文檔:
db.collection.find();
db.col.find().pretty(); // 以格式化的方式顯示所有文檔

db.col.find(
    {"likes":{$lt:50}}
).pretty();     // 找到like數(shù)小于50的所有文檔  

gt : greater than
le : less than
{$lte:50} ==> 小于等于50
{$gt:50} ==> 大于50
{$gte:50} ==> 大于等于50

三個(gè)方法:

limit() : 限制數(shù)據(jù)的條數(shù)

skip(): 跳過指定數(shù)量的數(shù)據(jù)

利用這兩個(gè)方法可以實(shí)現(xiàn)分頁。
這個(gè)方法只適合小數(shù)據(jù)的分頁,如果是百萬級效率會(huì)非常低。

sort(): 根據(jù)某個(gè)字段排序

1:升序
-1:降序

db.col.find().sort({_id:-1}); // 按照插入數(shù)據(jù)時(shí)間的降序排列
申請域名

填寫主辦單位信息 ==> 填寫網(wǎng)站信息 ==>上傳資料 ==> 辦理拍照 ==> 提交管局 ==> 備案完成

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93530.html

相關(guān)文章

  • 項(xiàng)目的遷移手記

    摘要:打包后將項(xiàng)目下載到本地。數(shù)據(jù)庫用的阿里云的,所以直接忽略。無感知轉(zhuǎn)發(fā)我自己有一臺(tái)核的阿里云他們公司的量也不大,所以我準(zhǔn)備先將項(xiàng)目部署到我服務(wù)器上,在公司服務(wù)器上進(jìn)行負(fù)載均衡,將我方權(quán)重調(diào)高,將用戶流量全部引入到我方服務(wù)器上。 收到一個(gè)朋友的求救,他現(xiàn)在遇到一個(gè)難題。 就是剛剛?cè)肼毜墓?,?xiàng)目沒有GIT,用的老版本的TP,CI,代碼也很凌亂,目錄也是非常的多,有的沒的都在服務(wù)器上放著,服...

    hidogs 評論0 收藏0
  • 項(xiàng)目的遷移手記

    摘要:打包后將項(xiàng)目下載到本地。數(shù)據(jù)庫用的阿里云的,所以直接忽略。無感知轉(zhuǎn)發(fā)我自己有一臺(tái)核的阿里云他們公司的量也不大,所以我準(zhǔn)備先將項(xiàng)目部署到我服務(wù)器上,在公司服務(wù)器上進(jìn)行負(fù)載均衡,將我方權(quán)重調(diào)高,將用戶流量全部引入到我方服務(wù)器上。 收到一個(gè)朋友的求救,他現(xiàn)在遇到一個(gè)難題。 就是剛剛?cè)肼毜墓?,?xiàng)目沒有GIT,用的老版本的TP,CI,代碼也很凌亂,目錄也是非常的多,有的沒的都在服務(wù)器上放著,服...

    khlbat 評論0 收藏0
  • 項(xiàng)目的遷移手記

    摘要:打包后將項(xiàng)目下載到本地。數(shù)據(jù)庫用的阿里云的,所以直接忽略。無感知轉(zhuǎn)發(fā)我自己有一臺(tái)核的阿里云他們公司的量也不大,所以我準(zhǔn)備先將項(xiàng)目部署到我服務(wù)器上,在公司服務(wù)器上進(jìn)行負(fù)載均衡,將我方權(quán)重調(diào)高,將用戶流量全部引入到我方服務(wù)器上。 收到一個(gè)朋友的求救,他現(xiàn)在遇到一個(gè)難題。 就是剛剛?cè)肼毜墓?,?xiàng)目沒有GIT,用的老版本的TP,CI,代碼也很凌亂,目錄也是非常的多,有的沒的都在服務(wù)器上放著,服...

    mingzhong 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<