欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談如何把Node項目部署到服務(wù)器上

 更新時間:2023年02月01日 15:52:37   作者:aiguangyuan  
本文主要介紹了淺談如何把Node項目部署到服務(wù)器上,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 如何合理選購一臺服務(wù)器

對于服務(wù)器的選擇,我們主要有以下幾種選擇:

1. 阿里云;

2. 騰訊云;

3. 華為云;

4. 亞馬遜云;

國內(nèi)用戶如果沒有特殊需求可以選擇前三種,這里我阿里云舉例,當(dāng)然其他服務(wù)器的配置都是相通的。

1.1. 服務(wù)器位置的選擇;

我們都知道服務(wù)器的不同配置都是有講究的,并且一定程度上關(guān)系到我們網(wǎng)站的用戶體驗,在選擇服務(wù)器地址之前,我們需要清楚的知道自己網(wǎng)站的用戶群體主要集中在哪個區(qū)域:

比如我的用戶在杭州,我們在地域及可用區(qū)選項中可以選擇華東1(杭州),以此類推。

1.2. 服務(wù)器鏡像的選擇;

目前我們常用的服務(wù)器鏡像有:

1. centos;

2. windows Server;

3. Ubuntu;

根據(jù)自己的使用習(xí)慣選擇即可,我一般習(xí)慣選擇 centos, 接下來也會以 centos 來介紹相關(guān)的配置。

1.3. 服務(wù)器系統(tǒng)盤存儲的選擇;

系統(tǒng)存儲的選擇也需要結(jié)合自身網(wǎng)站, 如果網(wǎng)站是內(nèi)容很多的資源型網(wǎng)站(圖片, 視頻等),可以選擇稍微大一點的,比如 100G 以上,一般個人網(wǎng)站或者測試站50G足已,畢竟一份存儲一份錢。

1.4. 服務(wù)器帶寬選擇;

一般為了給用戶一個好的網(wǎng)站體驗,會提高帶寬來降低網(wǎng)站加載時間。但是一味的提高帶寬會大大加大服務(wù)器的費(fèi)用,所以我們一方面需要在對網(wǎng)站自身做好優(yōu)化,另一方面也可以使用對象存儲,這樣我們就能控制一定的帶寬了,比如目前 H5-Dooring 的帶寬在10M左右,一年服務(wù)器費(fèi)用大概 1-2W, 但是對一些測試型個人網(wǎng)站來說,選擇2-5M都是一個合適的范圍。

當(dāng)然大家也可以選擇按流量付費(fèi)。

1.5. 服務(wù)器規(guī)格選擇;

 如果你是個人使用對吞吐性能沒有過多要求,可以選擇1核1G低配版的,不過建議個人網(wǎng)站最好選擇1核2G或者2核4G的,說不定你的網(wǎng)站就突然火了。

至于服務(wù)器的其他配置,大家都可以隨意選擇,也可以直接用默認(rèn)的。

2. 如何將域名解析到服務(wù)器上

當(dāng)我們選購好一臺服務(wù)器之后,我們在控制臺可以看到自己服務(wù)器的公網(wǎng)IP,這也是域名解析的關(guān)鍵。域名可以在云服務(wù)平臺內(nèi)直接購買,一般一個域名在20-60¥之間,推薦使用 .com .cn的域名,當(dāng)前其他后綴的域名也可以,取決于你對網(wǎng)站的定位。

我們只需要在云服務(wù)的域名管理中添加需要解析的服務(wù)器記錄即可。

上圖的主機(jī)記錄配置中常用的有 www 和 @,我們選擇任何一個即可,主機(jī)記錄相當(dāng)于域名的前綴。

記錄值 就是我們服務(wù)器的IP,也就是上面提到的公網(wǎng)IP。我們配置好之后點確認(rèn),等待5-10分鐘即可解析完成, 不過一般都在3分鐘內(nèi)。

通過以上方式,我們的域名就成功解析到對應(yīng)的服務(wù)器上了,是不是很簡單? 前提是域名必須備案,至于如何備案,也很簡單,可以按照云廠商指引進(jìn)行操作。

3. 服務(wù)器配套軟件的安裝和環(huán)境配置

有了上面服務(wù)器的配置基礎(chǔ),我們開始配置服務(wù)器了。 作為一名前端程序員, 服務(wù)器上必須要有node。接下來我們開始安裝它,在安裝之前,我們需要先進(jìn)入服務(wù)器終端:

密鑰對一般在服務(wù)器列表的右側(cè)更多下拉項里,我們一般第一次使用需要重置密鑰對, 在設(shè)置好密鑰對之后, 我們在自己計算機(jī)的終端輸入如下命令:

ssh root@你的服務(wù)器公網(wǎng)IP

 之后在終端輸入完密碼之后即可進(jìn)入服務(wù)器。

如果服務(wù)器沒有wget,建議大家可以安裝一下,畢竟后面很多場景都會用到。

yum install wget

是不是神似我們的 npm,之后我們就可以開心的安裝node了。

# 安裝nodejs
wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz
 
# 解壓
tar xf  node-v14.15.4-linux-x64.tar.xz 

解壓完成之后我們可以手動進(jìn)入node的 bin 目錄,測測node是否可用。但是下載下來的node的目錄名又臭又長,怎么辦呢?  這里就要學(xué)好Linux了, 我這里給大家介紹一種簡單的重命名文件/目錄名的方法:

mv node-v14.15.4-linux-x64 nodejs

mvlinux移動文件的命令,當(dāng)然如果在同一個目錄下,它也可以做重命名功能使用。

最后一步就是配置node全局環(huán)境了,這里我們也是使用 linux 的命令ln。

ln -s /...你nodejs所在的更目錄/nodejs/bin/node  /usr/local/bin/node
 
ln -s /...你nodejs所在的更目錄/nodejs/bin/npm   /usr/local/bin/npm

這樣我們通過軟連接就實現(xiàn)在全局環(huán)境下使用node了。

4. 通過命令行上傳自己的網(wǎng)站到服務(wù)器

那么環(huán)境有了之后我們就可以直接上傳我們的網(wǎng)站代碼了,因為我們選擇的是 centos 服務(wù)器,它沒有可視化的界面來操作,而且我的電腦是 mac的, 這可咋整呢? 不用擔(dān)心,繼續(xù)用命令行。

我們可以使用命令行從本地上傳文件或文件夾到服務(wù)器, 也可以從服務(wù)器下載文件到本地電腦,這些操作無疑多虧了scp,接下來我將演示如何從本地上傳文件夾到服務(wù)器。

scp -r 本地文件夾路徑 root@你的公網(wǎng)IP:/上傳到的服務(wù)器路徑
 
# 如
 
scp -r ./dist root@xxx.xxx.xxx:/website/

其中-r是用來傳文件夾用的,如果你要上傳的文件包含文件夾, 可以添加這個標(biāo)識。

5. 網(wǎng)站部署和運(yùn)維

網(wǎng)站可以用nginx代理和做負(fù)載均衡,網(wǎng)上也有很多資料介紹, 這里我?guī)Т蠹医榻B一下PM2

PM2 是一個守護(hù)進(jìn)程管理器,它將幫助我們管理和保障應(yīng)用程序穩(wěn)定在線。如果你是node的忠實粉絲,那么它將是個不錯的選擇。作為前端工程師,搭建全棧的網(wǎng)站用node也是一個非常高效的選擇。

5.1. 安裝應(yīng)用

最新的 PM2 版本可以使用 NPM 或 Yarn 安裝:

$ npm install pm2@latest -g
# or
$ yarn global add pm2

5.2. 啟動應(yīng)用

啟動、守護(hù)和監(jiān)控應(yīng)用程序的最簡單方法是使用以下命令行:

$ pm2 start app.js

或輕松啟動任何其他應(yīng)用程序:

$ pm2 start bashscript.sh
 
$ pm2 start python-app.py --watch
 
$ pm2 start binary-file -- --port 1520

我們可以傳遞給 CLI 的一些選項:

# Specify an app name
--name <app_name>
 
# Watch and Restart app when files change
--watch
 
# Set memory threshold for app reload
--max-memory-restart <200MB>
 
# Specify log file
--log <log_path>
 
# Pass extra arguments to the script
-- arg1 arg2 arg3
 
# Delay between automatic restarts
--restart-delay <delay in ms>
 
# Prefix logs with time
--time
 
# Do not auto restart app
--no-autorestart
 
# Specify cron for forced restart
--cron <cron_pattern>
 
# Attach to application log
--no-daemon

如我們所見,有許多選項可用于使用 PM2 管理我們的應(yīng)用程序。目前H5-Dooring也是采用這種方式部署的,所以如果你有自己的網(wǎng)站, 趕緊參考這個教程部署吧。

到此這篇關(guān)于淺談如何把Node項目部署到服務(wù)器上的文章就介紹到這了,更多相關(guān)Node項目部署到服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 前端如何更好的展示后端返回的十萬條數(shù)據(jù)

    前端如何更好的展示后端返回的十萬條數(shù)據(jù)

    這篇文章主要為大家介紹了前端如何更好的展示后端返回的十萬條數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • 淺析Node.js:DNS模塊的使用

    淺析Node.js:DNS模塊的使用

    本篇文章主要介紹了Node.js:DNS模塊的使用,DNS模塊包涵有關(guān)DNS查詢和操作的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • npm查看鏡像源與切換鏡像源方法詳解

    npm查看鏡像源與切換鏡像源方法詳解

    這篇文章主要為大家介紹了npm查看鏡像源與切換鏡像源方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • node 版本切換的實現(xiàn)

    node 版本切換的實現(xiàn)

    這篇文章主要介紹了node 版本切換的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Node在Controller層進(jìn)行數(shù)據(jù)校驗的過程詳解

    Node在Controller層進(jìn)行數(shù)據(jù)校驗的過程詳解

    這篇文章主要給大家介紹了關(guān)于Node在Controller層進(jìn)行數(shù)據(jù)校驗的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • node爬取新型冠狀病毒的疫情實時動態(tài)

    node爬取新型冠狀病毒的疫情實時動態(tài)

    這篇文章主要介紹了node爬取新型冠狀病毒的疫情實時動態(tài),非常不錯,本文通過實例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2020-02-02
  • Nodejs學(xué)習(xí)筆記之Global Objects全局對象

    Nodejs學(xué)習(xí)筆記之Global Objects全局對象

    本文是NodeJS學(xué)習(xí)筆記系列文章的第二篇,從這篇開始我們就根據(jù)官方文檔來逐個學(xué)習(xí)下NodeJS的各個模塊,首先我們來學(xué)習(xí)下Global
    2015-01-01
  • express啟用https使用小記

    express啟用https使用小記

    這篇文章主要介紹了express啟用https使用小記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • node使用promise替代回調(diào)函數(shù)

    node使用promise替代回調(diào)函數(shù)

    這篇文章主要介紹了node使用promise替代回調(diào)函數(shù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • npm報版本與node.js不匹配問題及解決

    npm報版本與node.js不匹配問題及解決

    這篇文章主要介紹了npm報版本與node.js不匹配問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論