偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

全棧CMS系統(tǒng)服務(wù)端啟動(dòng)細(xì)節(jié)復(fù)盤

開發(fā) 前端
本文主要介紹如下內(nèi)容:redis的安裝及redis服務(wù)器的啟動(dòng),node服務(wù)器的啟動(dòng)以及開發(fā)環(huán)境和正式環(huán)境的配置,服務(wù)器接口的測試及使用postman來測試接口,文章很短,希望大家可以更好的進(jìn)行后面node和前端部分的開發(fā)。

[[393491]]

由于很多朋友對(duì)于我之前寫的CMS系統(tǒng)中的后臺(tái)node部分的啟動(dòng)有些不太理解的地方或者存在一些問題,這里我會(huì)專門寫一下啟動(dòng)的步驟和細(xì)節(jié),關(guān)于CMS全棧系統(tǒng)感興趣的朋友可以看看我之前寫的兩篇文章:

  • 1. 基于nodeJS從0到1實(shí)現(xiàn)一個(gè)CMS全棧項(xiàng)目(上)
  • 2. 基于nodeJS從0到1實(shí)現(xiàn)一個(gè)CMS全棧項(xiàng)目(中)

摘要

本文主要介紹如下內(nèi)容:

  • redis的安裝及redis服務(wù)器的啟動(dòng)
  • node服務(wù)器的啟動(dòng)以及開發(fā)環(huán)境和正式環(huán)境的配置
  • 服務(wù)器接口的測試及使用postman來測試接口

文章很短,希望大家可以更好的進(jìn)行后面node和前端部分的開發(fā)。

1.redis的安裝及redis服務(wù)器的啟動(dòng)

我們可以去redis官網(wǎng)下載redis安裝程序,我主要介紹window和 linux系統(tǒng)下的安裝,如果你是其他系統(tǒng),可以去官網(wǎng)查看相關(guān)資料。

1.window下安裝和啟動(dòng)服務(wù)

下載地址:https://github.com/MSOpenTech/redis/releasesRedis 支持 32 位和 64 位。這個(gè)需要根據(jù)你系統(tǒng)平臺(tái)來選擇,下載壓縮包到 C 盤,解壓然后將文件夾重命名為 redis。(這里方便記憶)

打開一個(gè)cmd窗口使用 cd 命令切換目錄到 C:\redis下,然后運(yùn)行:

 

  1. redis-server.exe redis.windows.conf 

輸入之后,如果顯示如下界面,說明啟動(dòng)成功:

當(dāng)然我們也可以把redis路徑添加到環(huán)境變量里,這樣就不用每次都在redis路徑下執(zhí)行了腳本了。這樣啟動(dòng)還沒有完,如果我們想測試redis是否可以執(zhí)行,我們上面啟動(dòng)的cmd窗口千萬不能關(guān),否則我們跑node將會(huì)出現(xiàn)如下報(bào)錯(cuò):

好了,我們繼續(xù),測試一下redis是否可用。首先我們新建一個(gè)cmd窗口,切換到 redis 目錄下運(yùn)行:

  1. redis-cli.exe -h 127.0.0.1 -p 6379 

設(shè)置鍵值對(duì):

  1. set user xxx 

則會(huì)出現(xiàn)如下結(jié)果:

這樣,redis啟動(dòng)這塊就可以了。

2.linux下安裝啟動(dòng)redis

下載地址:http://redis.io/download,建議下載最新穩(wěn)定版本。

  1. $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz 
  2. $ tar xzf redis-2.8.17.tar.gz 
  3. $ cd redis-2.8.17 
  4. $ make 

make完后 redis-2.8.17目錄下會(huì)出現(xiàn)編譯后的redis服務(wù)程序redis-server,還有用于測試的客戶端程序redis-cli,兩個(gè)程序位于安裝目錄 src 目錄下,下面啟動(dòng)redis服務(wù):

  1. $ cd src 
  2. $ ./redis-server 

然后下面使用redis-cli的方式和window類似,這里就不舉例子了,如果想詳細(xì)了解redis的配置和啟動(dòng),請(qǐng)認(rèn)真研讀redis官方文檔。

2.node服務(wù)器的啟動(dòng)以及開發(fā)環(huán)境和正式環(huán)境的配置

關(guān)于node的編譯和配置我在上一篇也簡單講了一下,這里我們具體介紹如何啟動(dòng)項(xiàng)目和打包線上和發(fā)開環(huán)境代碼。首先我們看看package.json的執(zhí)行代碼:

  1. "scripts": { 
  2.    "start""export NODE_ENV=development && nodemon -w src --exec \"babel-node src\""
  3.    "build""babel src --out-dir dist"
  4.    "run-build""node dist"
  5.    "test""echo \"Error: no test specified\" && exit 1" 
  6.  } 

我們先看start,這里主要用來啟動(dòng)我們開發(fā)環(huán)境的服務(wù)器,我們通過export NODE_ENV=development來定義開發(fā)環(huán)境的環(huán)境變量,由于我采用的是mac電腦,所以可以用export來定義一個(gè)node環(huán)境變量;window下我們采用set NODE_ENV=development來定義。我們用如下指令來啟動(dòng):

  1. npm start 
  2. // or yarn start 

其次我們看看build命令,主要是打包輸出的命令,dist為輸出的目錄名,你也可以根據(jù)自己代碼風(fēng)格來命名。我們執(zhí)行如下來打包:

  1. npm run build 
  2. // or yarn build 

run-build命令是我額外加的,主要是方便測試生產(chǎn)環(huán)境的代碼,即我們打包的后代碼。執(zhí)行方式同上。關(guān)于如何使用環(huán)境變量,這里我們可以參考我項(xiàng)目中的config下的代碼:

  1. const isDev = process.env.NODE_ENV === 'development'
  2.  
  3. //獲取本機(jī)ip地址 
  4. function getIPAdress() { 
  5.    var interfaces = require('os').networkInterfaces();   
  6.    for (var devName in interfaces) {     
  7.        var iface = interfaces[devName];       
  8.        for (var i = 0; i < iface.length; i++) { 
  9.            var alias = iface[i]; 
  10.            if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) { 
  11.                return alias.address; 
  12.            } 
  13.        }   
  14.    } 
  15.  
  16. const IP = getIPAdress(); 
  17. const staticPath = isDev ? `http://${IP}:3000` : '線上地址'
  18.  
  19.  
  20. module.exports = { 
  21.    isDev, 
  22.    staticPath 

我們可以使用process.env.NODE_ENV來拿到我們?cè)趐ackage下定義的環(huán)境變量,然后進(jìn)行不同的操作。以上代碼主要作用就是下其他業(yè)務(wù)代碼傳遞環(huán)境變量,并對(duì)靜態(tài)路徑根據(jù)不同環(huán)境使用不同的ip地址,方便前后端調(diào)試。

3.服務(wù)器接口的測試及使用postman來測試接口

當(dāng)我們啟動(dòng)好服務(wù)器后,我們可以利用ip去測試端口,由于我們初始化時(shí)會(huì)初始化config和admin數(shù)據(jù),所以我們可以使用postman來測試接口可靠性,為了方便理解,我會(huì)剖出初始化代碼,如果有不理解的,可以可和交流。

  1. // server/src/db/schema/config.js 
  2. // ... 
  3. // 初始化config數(shù)據(jù) 
  4. async function initConfig(){ 
  5.    const isExist = await configSchema.exists() 
  6.    if(!isExist) { 
  7.        const result = await configSchema.hmset(null, { 
  8.            header: { 
  9.                columns: ['首頁'], 
  10.                height: '50'
  11.                backgroundColor: '#000000'
  12.                logo: '' 
  13.            }, 
  14.            banner: { 
  15.                type: '1', // 0為標(biāo)簽云,1為輪播圖 
  16.                label: [], 
  17.                bgUrl: ''
  18.                bannerList: [] 
  19.            }, 
  20.            bannerSider: { 
  21.                tit: '側(cè)邊欄信息'
  22.                imgUrl: ''
  23.                desc'' 
  24.            }, 
  25.            supportPay: { 
  26.                tit: ''
  27.                imgUrl: '' 
  28.            } 
  29.        }) 
  30.        if(!Array.isArray(result)) { 
  31.            console.log('配置信息初始化完成'
  32.        }else { 
  33.            throw result 
  34.        } 
  35.    } 
  36.  
  37. initConfig() 

我們?cè)趕erver/src/db/schema/config.js下可以看到這段初始化config的代碼,接下來看看路由定義:

我們找到server/src/routes/config.js,這里我們使用修飾器和class來定義我們的路由api路徑為/api/v0/config/all,由于我們開的服務(wù)跑在3000端口的,所以我們使用postman這樣訪問:

這樣,是不是就拿到我們之前定義好的初始化數(shù)據(jù)了呢?

總結(jié)

綜上我們服務(wù)器啟動(dòng)的流程如下:

  1. 啟動(dòng)redis服務(wù)器
  2. 運(yùn)行node啟動(dòng)腳本 npm start or yarn start
  3. 根據(jù)router定義的路由api,使用postman或者本地請(qǐng)求測試端口

 

責(zé)任編輯:姜華 來源: 趣談前端
相關(guān)推薦

2021-06-11 06:54:34

Dubbo客戶端服務(wù)端

2024-11-21 15:48:50

2016-10-18 16:45:20

JavaScript移動(dòng)服務(wù)端

2021-09-06 09:46:26

Dubbo 服務(wù)端開發(fā)

2023-08-14 08:17:13

Kafka服務(wù)端

2016-03-18 09:04:42

swift服務(wù)端

2023-12-01 08:09:08

2022-02-12 00:00:00

架構(gòu)

2010-03-03 13:43:46

Android手機(jī)系統(tǒng)

2021-01-06 08:11:35

SSRCMSSimpleCMS

2012-03-02 10:38:33

MySQL

2013-03-25 10:08:44

PHPWeb

2022-07-22 11:22:10

B 端菜鳥數(shù)字化

2010-08-03 09:59:30

NFS服務(wù)

2016-11-03 09:59:38

kotlinjavaspring

2021-05-25 08:20:37

編程技能開發(fā)

2021-05-24 10:32:04

鴻蒙HarmonyOS應(yīng)用

2023-08-21 09:51:57

全棧軟件開發(fā)

2010-02-24 15:42:03

WCF服務(wù)端安全

2010-03-19 18:17:17

Java Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)