您好,登錄后才能下訂單哦!
這篇文章主要介紹“全棧CMS系統服務端啟動的細節有哪些”,在日常操作中,相信很多人在全棧CMS系統服務端啟動的細節有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”全棧CMS系統服務端啟動的細節有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
我們可以去redis官網下載redis安裝程序,我主要介紹window和 linux系統下的安裝,如果你是其他系統,可以去官網查看相關資料。
1.window下安裝和啟動服務
下載地址:https://github.com/MSOpenTech/redis/releasesRedis 支持 32 位和 64 位。這個需要根據你系統平臺來選擇,下載壓縮包到 C 盤,解壓然后將文件夾重命名為 redis。(這里方便記憶)
打開一個cmd窗口使用 cd 命令切換目錄到 C:\redis下,然后運行:
redis-server.exe redis.windows.conf
輸入之后,如果顯示如下界面,說明啟動成功:
當然我們也可以把redis路徑添加到環境變量里,這樣就不用每次都在redis路徑下執行了腳本了。這樣啟動還沒有完,如果我們想測試redis是否可以執行,我們上面啟動的cmd窗口千萬不能關,否則我們跑node將會出現如下報錯:
好了,我們繼續,測試一下redis是否可用。首先我們新建一個cmd窗口,切換到 redis 目錄下運行:
redis-cli.exe -h 127.0.0.1 -p 6379
設置鍵值對:
set user xxx
則會出現如下結果:
這樣,redis啟動這塊就可以了。
2.linux下安裝啟動redis
下載地址:http://redis.io/download,建議下載最新穩定版本。
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz $ tar xzf redis-2.8.17.tar.gz $ cd redis-2.8.17 $ make
make完后 redis-2.8.17目錄下會出現編譯后的redis服務程序redis-server,還有用于測試的客戶端程序redis-cli,兩個程序位于安裝目錄 src 目錄下,下面啟動redis服務:
$ cd src $ ./redis-server
然后下面使用redis-cli的方式和window類似,這里就不舉例子了,如果想詳細了解redis的配置和啟動,請認真研讀redis官方文檔。
關于node的編譯和配置我在上一篇也簡單講了一下,這里我們具體介紹如何啟動項目和打包線上和發開環境代碼。首先我們看看package.json的執行代碼:
"scripts": { "start": "export NODE_ENV=development && nodemon -w src --exec \"babel-node src\"", "build": "babel src --out-dir dist", "run-build": "node dist", "test": "echo \"Error: no test specified\" && exit 1" }
我們先看start,這里主要用來啟動我們開發環境的服務器,我們通過export NODE_ENV=development來定義開發環境的環境變量,由于我采用的是mac電腦,所以可以用export來定義一個node環境變量;window下我們采用set NODE_ENV=development來定義。我們用如下指令來啟動:
npm start // or yarn start
其次我們看看build命令,主要是打包輸出的命令,dist為輸出的目錄名,你也可以根據自己代碼風格來命名。我們執行如下來打包:
npm run build // or yarn build
run-build命令是我額外加的,主要是方便測試生產環境的代碼,即我們打包的后代碼。執行方式同上。關于如何使用環境變量,這里我們可以參考我項目中的config下的代碼:
const isDev = process.env.NODE_ENV === 'development'; //獲取本機ip地址 function getIPAdress() { var interfaces = require('os').networkInterfaces(); for (var devName in interfaces) { var iface = interfaces[devName]; for (var i = 0; i < iface.length; i++) { var alias = iface[i]; if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) { return alias.address; } } } } const IP = getIPAdress(); const staticPath = isDev ? `http://${IP}:3000` : '線上地址'; module.exports = { isDev, staticPath }
我們可以使用process.env.NODE_ENV來拿到我們在package下定義的環境變量,然后進行不同的操作。以上代碼主要作用就是下其他業務代碼傳遞環境變量,并對靜態路徑根據不同環境使用不同的ip地址,方便前后端調試。
當我們啟動好服務器后,我們可以利用ip去測試端口,由于我們初始化時會初始化config和admin數據,所以我們可以使用postman來測試接口可靠性,為了方便理解,我會剖出初始化代碼,如果有不理解的,可以可和交流。
// server/src/db/schema/config.js // ... // 初始化config數據 async function initConfig(){ const isExist = await configSchema.exists() if(!isExist) { const result = await configSchema.hmset(null, { header: { columns: ['首頁'], height: '50', backgroundColor: '#000000', logo: '' }, banner: { type: '1', // 0為標簽云,1為輪播圖 label: [], bgUrl: '', bannerList: [] }, bannerSider: { tit: '側邊欄信息', imgUrl: '', desc: '' }, supportPay: { tit: '', imgUrl: '' } }) if(!Array.isArray(result)) { console.log('配置信息初始化完成') }else { throw result } } } initConfig()
我們在server/src/db/schema/config.js下可以看到這段初始化config的代碼,接下來看看路由定義:
我們找到server/src/routes/config.js,這里我們使用修飾器和class來定義我們的路由api路徑為/api/v0/config/all,由于我們開的服務跑在3000端口的,所以我們使用postman這樣訪問:
這樣,是不是就拿到我們之前定義好的初始化數據了呢?
到此,關于“全棧CMS系統服務端啟動的細節有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。