摘要:本地和服務器環境本地位服務器阿里云輕量應用服務器使用的連接工具當然還有這幾個中任選一個就好啦。連接工具使用方法創建填入服務器地址和用戶名,點擊確認然后輸入密碼即可。執行測試項目新建項目文件。使用編輯器打開項目文件。
本地和服務器環境
本地:Windows10 64位
服務器:阿里云輕量應用服務器CentOS 7.3
使用的連接工具:
putty
mobaxterm
當然還有Xshell這幾個中任選一個就好啦。
連接工具使用方法:
創建session>ssh填入服務器IP地址和用戶名(root),點擊確認然后輸入密碼即可。
(這個是mobaxterm的使用方法,其他的也都一個套路。)
使用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
創建軟連接,主要是為了命令可以全局有效
</>復制代碼
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
備注 :當然也可以采用其他的方式搭建node運行環境,例如使用NVM下載,具體的我就不列出了。
執行測試項目新建項目文件example.js。
</>復制代碼
cd ~
touch example.js
使用vim編輯器打開項目文件example.js。
</>復制代碼
yum install vim
vim example.js
輸入"i",進入編輯模式,將以下項目文件內容粘貼到文件中。使用"Esc"按鈕,退出編輯模式,輸入":wq",回車,保存文件內容并退出(這里的0.0.0.0相當于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}/`);
});
運行項目
</>復制代碼
node ~/example.js
//也可以用下面的代碼后臺運行
node ~/example.js &//后臺運行
netstat -tpln//查看端口運行情況
在瀏覽器打開http://IP:80
如果看到Hello World,恭喜部署成功
這里有幾個需要注意的
如果你用后臺運行以后,這個端口會被占用,如何關閉
</>復制代碼
netstat -tpln//查看端口pid
kill -9 pid
備注 : 此時防火墻是關閉的。(not running)
當我嘗試打開防火墻,將端口添加到例外,并在端口(3000)上運行時,使用公網IP出現了訪問不了的情況,不知道有哪位大神可以大概說明一下原因?
可以看到端口已經添加到例外了:
1.查看防火墻是否在運行 ?
</>復制代碼
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.啟動firewalld防火墻
</>復制代碼
systemctl start firewalld
持續運行
前面的所有完成以后,如何讓這個node進程一直活著呢?
全局安裝cnpm,可以大大的提升下載速度
</>復制代碼
npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝pm2
</>復制代碼
cnpm install -g pm2
pm2使用
</>復制代碼
pm2 start example.js //啟動服務
pm2 list //查看啟動的應用
pm2 show example.js //查看詳細信息
pm2 logs //查看當前信息
pm2 stop example.js //停止example
pm2 delete example.js //刪除example
Linux平臺安裝MongoDB
MongoDB 提供了 linux 各發行版本 64 位的安裝包,你可以在官網下載安裝包。
下載地址: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 的可執行文件位于 bin 目錄下,所以可以將其添加到 PATH 路徑中。
</>復制代碼
export PATH=/bin:$PATH
MongoDB的數據存儲在data目錄的db目錄下,但是這個目錄在安裝過程不會自動創建,所以你需要手動創建data目錄,并在data目錄中創建db目錄。
以下實例中我們將data目錄創建于根目錄下(/)。
注意:/data/db 是 MongoDB 默認的啟動的數據庫路徑(--dbpath)。
mkdir -p /data/db
你可以再命令行中執行mongo安裝目錄中的bin目錄執行mongod命令來啟動mongdb服務。
注意:如果你的數據庫目錄不是/data/db,可以通過 --dbpath 來指定。
如果你需要進入MongoDB后臺管理,你需要先打開mongodb裝目錄的下的bin目錄,然后執行mongo命令文件。
MongoDB Shell是MongoDB自帶的交互式Javascript shell,用來對MongoDB進行操作和管理的交互式環境。
MongoDB是一個基于分布文件存儲的數據庫,是一個介于關系數據庫和非關系數據庫之間的產品。
</>復制代碼
show dbs // 顯示所有數據庫的列表
use local // 連接到一個指定的數據庫,不存在則創建
登陸數據庫:
使用用戶名和密碼連接登錄到指定數據庫:
</>復制代碼
mongodb://admin:123456@localhost/test
切換數據庫:
</>復制代碼
use local // 切換到該數據庫下
show tables //查看所有的集合(數據表)
db.site.drop() // 刪除site這個集合(數據表)
創建集合:
</>復制代碼
db.createCollection(name,options);
// eg: 創建固定大小的集合
db.createCollection("mycol",{
capped:true,
autoIndexId:true, // 自動在_id字段創建索引
size:6142800, // 整個集合大小(kB)
max:10000 //文檔最大個數(數據條數)
});
當你插入文檔時,MongoDB會自動創建集合:
db.mycol2.inset({"name":"bjw"});
更新文檔:
</>復制代碼
db.collection.update({
, // 查詢條件
, // 更新的對象
{ upsert:, // 不存在是否插入,默認false,true為插入
multi:, // 默認false,只更新找到的第一條數據
writeConcern:
}
});
// eg:
db.col.update(
{"name":"admin"},
{$set:{"passowrd":"123"}},
{multi:true} // 更新多條數據
);
刪除文檔:
在執行remove函數之前,先執行find()命令來判斷執行的條件是否正確。(習慣問題)
</>復制代碼
db.collection.remove(
, // 條件
// justOne:true 只刪除找到的第一個文檔
);
查詢文檔:
</>復制代碼
db.collection.find();
db.col.find().pretty(); // 以格式化的方式顯示所有文檔
db.col.find(
{"likes":{$lt:50}}
).pretty(); // 找到like數小于50的所有文檔
gt : greater than
le : less than
{$lte:50} ==> 小于等于50
{$gt:50} ==> 大于50
{$gte:50} ==> 大于等于50
limit() : 限制數據的條數
skip(): 跳過指定數量的數據
利用這兩個方法可以實現分頁。
這個方法只適合小數據的分頁,如果是百萬級效率會非常低。
sort(): 根據某個字段排序
1:升序
-1:降序
</>復制代碼
db.col.find().sort({_id:-1}); // 按照插入數據時間的降序排列
申請域名
填寫主辦單位信息 ==> 填寫網站信息 ==>上傳資料 ==> 辦理拍照 ==> 提交管局 ==> 備案完成
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/93530.html
閱讀 3607·2021-11-23 09:51
閱讀 2812·2021-11-23 09:51
閱讀 690·2021-10-11 10:59
閱讀 1685·2021-09-08 10:43
閱讀 3239·2021-09-08 09:36
閱讀 3302·2021-09-03 10:30
閱讀 3306·2021-08-21 14:08
閱讀 2212·2021-08-05 09:59
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要