#到自己的遊戲資料夾,安裝依存
npm init -y
npm install express socket.io
#安裝必要元件
npm install mysql2
建立 rc.d 啟動腳本
1. 建立 rc.d 腳本
ee /usr/local/etc/rc.d/node_game
貼上以下資料
# PROVIDE: node_game
# REQUIRE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="node_game"
rcvar=node_game_enable
pidfile="/var/run/${name}.pid"
logfile="/var/log/${name}.log"
command="/usr/sbin/daemon"
command_args="-f -P ${pidfile} -o ${logfile} /usr/local/bin/node /home/chocho/game/server.js"
load_rc_config $name
run_rc_command "$1"
2. 設為可執行檔
chmod +x /usr/local/etc/rc.d/node_game
3. 啟用自動啟動
sysrc node_game_enable=YES
4. 手動啟動測試
service node_game start
可以用 tail -f /var/log/node_game.log
來確認 log 是否正確輸出。
可以用 ps aux | grep node 檢查 node有沒有在運行
5.設定 node_game.log 的備份大小
ee /etc/newsyslog.conf
在最後一行加上這段:
/var/log/node_game.log root:wheel 644 7 1000 * J
欄位 | 說明 |
---|---|
/var/log/node_game.log | 要輪替的 log 檔案 |
root:wheel | log 檔的擁有者與群組(根據實際擁有者可調整) |
644 | log 檔的權限 |
7 | 最多保留 7 份舊檔案(log.0.gz ~ log.6.gz) |
1000 | 超過 1000KB(1MB)時輪替 |
* | 每天都可以檢查,不限制特定時間 |
J | 壓縮輪替的 log(變成 .gz ) |
測試輪替
newsyslog -nv
強制輪替
newsyslog -vF
沒有留言:
張貼留言