#程式設計師#
處理koa中快進的問題
部署
* NodeJs是基於V8解析引擎並執行的,所以不同於其他後端語言,需要先編譯後才能在伺服器運行
* __node是解釋型的語言,本身就能直接運行__
* NodeJs自身又包含伺服器,所以當啟動了NodeJs的程序,就會在使用當前機器的公網IP並監聽埠運行伺服器
* __包含伺服器的node,自己就可以跑__
* __無需單獨編譯和伺服器的支持__
PM2
* 管理node項目,讓其永不關閉的一個容器
* forever(沒有pm2好用)
* 保障伺服器不會掛掉
npm i -g pm2npm2 start ./xxx.js --name projectname
* 其他命令
pm2 examples // 查看常用示例 pm2 [start||restart||stop||delete] all||name||id // 重啟 pm2 show name||id // 查看信息 pm2 list // 查看項目 pm2 flush // 清空日誌 pm2 log name||id // 查看日誌
nginx負載均衡
upstream localhost { ip_hash; # nginx內置的處理 server localhost:8000 weight=1; server localhost:8001 weight=1; } #server {....... location / { proxy_pass http://localhost; }
查看環境變量
* __linux:__ /etc/profile文件中 export 環境變量=值
* 執行壞境變量更新命令 ```source /etc/profile```
* windows我的電腦-> 右鍵屬性 -> 高級系統設置 -> 環境變量
* 或者命令行 set回車
有時IP不是固定的
* ip_hash 是解決通過IP位址來分配不同伺服器的,對不同伺服器以綁定的方式分解壓力。
* 同時又能實現登錄後,還訪問其他伺服器導致登錄狀態不一的解決方案
* 但是其並不是真正的session共享,真正的共享還是在資料庫存儲
redis
* redis資料庫以鍵值對的方式存儲數據,並將數據在__內存__中以快照的方式存儲,一定時間內批量寫入到文件,因此__速度__及性能非常好
* 進入到目錄,啟動伺服器 redis-server
* 安裝windows服務 ```./redis-server –service-install ./redis.windows.conf```
* 運行客戶端 ```redis-cli```* 相關命令* 獲取幫助 ``` help <command>``` * 查詢所有的key ```keys *``` * 添加或更新一個數據 ```SET key value [EX seconds] [PX milliseconds] [NX|XX]``` * ```set test 1 EX 10 NX``` * 表示插入test:1數據 保存10秒 * NX 不存在數據才插入 * XX 存在數據才插入 * 獲取value ```get key``` * 刪除key ```del key``` * 插入數組 * sadd key [...values] * 查看數組數據 * smembers key