μλ ,
μ€μΉ μ§μΉ¨μ λ°λμ§λ§ npm μμ λ¨κ³μμ λ©μΆ₯λλ€. μλ²κ° μμλλ κ²μ²λΌ 보μ΄μ§λ§ μ§μΉ¨μ μ€λͺ λ λλ‘ λ§μ§λ§ μ€μ '> node app.js > production.log 2> productionError.log'κ° μλλλ€. λμ npm startλ₯Ό μ€ννλ©΄ λ€μμ΄ νμλ©λλ€.
[email protected] μ¬μ μμ /home/faheem/OctoFarm
npm μ€μΉ --νλ‘λμ
λ§€λ² μ€μΉλ₯Ό μλν©λλ€. μ€μΉκ° λλλ©΄ λ€μκ³Ό κ°μ΄ νμλ©λλ€.
[email protected] μμ /home/faheem/OctoFarm
pm2 start app.js --name OctoFarm -o './logs/pm2.log' -e './logs/pm2.error.log' --time
[PM2] OctoFarm μ±μ restartProcessId μμ μ μ©
[PM2] [μ₯ν ν](0) β
[PM2] νλ‘μΈμ€κ° μ±κ³΅μ μΌλ‘ μμλμμ΅λλ€.
ββββββ¬βββββββββββββββββββββ¬ββββββββββββ¬βββββββ¬ββββββ βββββββ¬βββββββββββ¬ββββββββββββ
β id β μ΄λ¦ β λͺ¨λ β βΊ β μν β cpu β λ©λͺ¨λ¦¬ β
ββββββΌββββββββββββββββββββββΌββββββββββββΌβββββββΌββββββ βββββββΌβββββββββββΌββββββββββββ€
β 0 β OctoFarm β ν¬ν¬ β 0 β μ¨λΌμΈ β 0% β 23.5mb β
ββββββ΄βββββββββββββββββββββ΄ββββββββββββ΄βββββββ΄ββββββ βββββββ΄ββββββββββββ΄ββββββββββ
μ€ν μ€μ΄λΌκ³ μκ°νμ§λ§ μλ² μ£Όμλ‘ μ΄λνλ©΄ Firefoxμμ μ°κ²°μ΄ μ¬μ€μ λμλ€κ³ μλ €μ€λλ€.
pm2.log νμΌμμ λ€μκ³Ό κ°μ λ΄μ©μ΄ λ°λ³΅λλ κ²μ λ³Ό μ μμ΅λλ€.
2020-11-15T22:19:09: HEAT MAP ISSUE TypeError: nullμ μμ± '0'μ μ½μ μ μμ΅λλ€.
2020-11-15T22:19:09: Function.heatMappingμμ (/home/faheem/OctoFarm/lib/dataFunctions/printerClean.js:1088:22)
2020-11-15T22:19:09: Function.sortCurrentOperationsμμ (/home/faheem/OctoFarm/lib/dataFunctions/printerClean.js:443:30)
2020-11-15T22:19:09: Timeout._onTimeoutμμ (/home/faheem/OctoFarm/lib/dataFunctions/printerClean.js:1189:22)
2020-11-15T22:19:09: listOnTimeoutμμ (internal/timers.js:554:17)
2020-11-15T22:19:09: processTimersμμ (internal/timers.js:497:7)
λμμ μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€. κ°μ¬ ν΄μ
λ‘κ·Έ λλ ν 리μ OctoFarm-Server.log νμΌμ΄ μμ΅λκΉ? κ·Έλ λ€λ©΄ κ²μ ν μ μμ΅λκΉ?
μ λ... λ°©κΈ νμΈνμ΅λλ€. MongoDB μλΉμ€κ° μμλμ§ μμ κ²μΌλ‘ λνλ¬μ΅λλ€. μ£μ‘ν©λλ€. λ°©κΈ μμνκ³ λ€μ μλνμ§λ§ μ¬μ ν λ‘λλμ§ μμ΅λλ€. μλ² λ‘κ·Έκ° μ²¨λΆλμμ΅λλ€.
κ°μ¬ ν΄μ
μ λ... λ°©κΈ νμΈνμ΅λλ€. MongoDB μλΉμ€κ° μμλμ§ μμ κ²μΌλ‘ λνλ¬μ΅λλ€. μ£μ‘ν©λλ€. λ°©κΈ μμνκ³ λ€μ μλνμ§λ§ μ¬μ ν λ‘λλμ§ μμ΅λλ€. μλ² λ‘κ·Έκ° μ²¨λΆλμμ΅λλ€.
κ°μ¬ ν΄μ
ν΄λΉ λ‘κ·Έλ μ¬μ ν λ°μ΄ν°λ² μ΄μ€ μΈλΆ μ λ³΄κ° μ¬λ°λ₯΄μ§ μκ±°λ μ°κ²°μ μ€ν¨νμμ λνλ λλ€. λ°μ΄ν°λ² μ΄μ€λ₯Ό μμν ν OctoFarm'μ λ€μ μμνμ ¨μ΅λκΉ?
config.jsμμ κ·νμ URLμ μ΄λ»κ² μκ²Όμ΅λκΉ?
μ λ... λ°©κΈ νμΈνμ΅λλ€. MongoDB μλΉμ€κ° μμλμ§ μμ κ²μΌλ‘ λνλ¬μ΅λλ€. μ£μ‘ν©λλ€. λ°©κΈ μμνκ³ λ€μ μλνμ§λ§ μ¬μ ν λ‘λλμ§ μμ΅λλ€. μλ² λ‘κ·Έκ° μ²¨λΆλμμ΅λλ€.
κ°μ¬ ν΄μ
OctoFarm-Server(볡μ¬).txtν΄λΉ λ‘κ·Έλ μ¬μ ν λ°μ΄ν°λ² μ΄μ€ μΈλΆ μ λ³΄κ° μ¬λ°λ₯΄μ§ μκ±°λ μ°κ²°μ μ€ν¨νμμ λνλ λλ€. λ°μ΄ν°λ² μ΄μ€λ₯Ό μμν ν OctoFarm'μ λ€μ μμνμ ¨μ΅λκΉ?
config.jsμμ κ·νμ URLμ μ΄λ»κ² μκ²Όμ΅λκΉ?
λ°μ΄ν°λ² μ΄μ€λ₯Ό μμν ν Octofarmμ λ€μ μμνμ΅λλ€. npm startλ₯Ό μ€νν λ npm install --productionμ΄ μ¬μ ν μ€νλλ μ΄μ λ₯Ό λͺ¨λ₯΄κ² μ΅λλ€. μ μμΈκ°μ?
config.js? μ΄λ€ config.jsλ₯Ό μ΄ν΄λ΄μΌ ν©λκΉ? db.jsμμ URIλ₯Ό λ€μκ³Ό κ°μ΄ μ€μ νμ΅λλ€.
MongoURI: ' mongodb://localhost :27017/octofarm'
octoprintμ mongodbκ° λͺ¨λ λμΌν λ©ν±μμ μ€νλκ³ μκΈ° λλ¬Έμ
ν okλ μΈκΈλμ§ μμμΌλ―λ‘ μ μΈνκ³ μΆμμ΅λλ€.
μ, npm preflight μ€ν¬λ¦½νΈλ ν¨ν€μ§κ° μ€μΉλμμμ μΈμνκ³ κ±΄λλ°μ΄μΌ νλ νΈμλ₯Ό μν΄ μμ΅λλ€.
μμ€ν μ λ€μ μμν΄ λ³΄μ ¨μ΅λκΉ?
nodejs λ° mongo λ²μ λ 무μμ λκΉ?
μ΄λ€ μ΄μ λ‘ Mongodb λ°μ΄ν°λ² μ΄μ€μ μ°κ²°νμ§ μλ κ²μ νμ€ν©λλ€. OctoFarmμ /logs ν΄λμ μμ΄μΌ νλ pm2.error.logλ μμ΅λκΉ?
λ
Έλ λ²μ : v14.15.0
λͺ½κ³ λ²μ : v4.4.1
Octofarmκ³Ό Mongoλ₯Ό μ€μΉν ν μμ€ν μ μ¬λΆν νμ΅λλ€.
mongo λ° octofarmμ λ€μ μμν ν μλ‘μ΄ λ‘κ·Έ νμΌμ΄ 첨λΆλ¨
OctoFarm-Server.log.txt
pm2.error.log.txt
pm2.log.txt
ν okλ μΈκΈλμ§ μμμΌλ―λ‘ μ μΈνκ³ μΆμμ΅λλ€.
μ, npm preflight μ€ν¬λ¦½νΈλ ν¨ν€μ§κ° μ€μΉλμμμ μΈμνκ³ κ±΄λλ°μ΄μΌ νλ νΈμλ₯Ό μν΄ μμ΅λλ€.
μμ€ν μ λ€μ μμν΄ λ³΄μ ¨μ΅λκΉ?
nodejs λ° mongo λ²μ λ 무μμ λκΉ?
μ΄λ€ μ΄μ λ‘ Mongodb λ°μ΄ν°λ² μ΄μ€μ μ°κ²°νμ§ μλ κ²μ νμ€ν©λλ€. OctoFarmμ /logs ν΄λμ μμ΄μΌ νλ pm2.error.logλ μμ΅λκΉ?
κ°μ¬ν©λλ€. μμΉ¨μ μλ €κ³ νλλ° λ‘κ·Έλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
ν κ°μ§. Nodejs 14λ μ§μλμ§ μμΌλ©° LTS λ²μ λ§ μ§μν©λλ€. 12λ₯Ό κΆμ₯ν©λλ€. μκΈ°κ²λ 14κ°μλ λ°μ΄ν°λ² μ΄μ€ λ¬Έμ κ° μΆ©λΆν μμΌλ―λ‘ λ‘κ·Έλ₯Ό λ³Ό μ μμ λκΉμ§ μλν΄ λ³Ό κ°μΉκ° μμ΅λλ€.
κ°μ¬ν©λλ€. μμΉ¨μ μλ €κ³ νλλ° λ‘κ·Έλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
ν κ°μ§. Nodejs 14λ μ§μλμ§ μμΌλ©° LTS λ²μ λ§ μ§μν©λλ€. 12λ₯Ό κΆμ₯ν©λλ€. μκΈ°κ²λ 14κ°μλ λ°μ΄ν°λ² μ΄μ€ λ¬Έμ κ° μΆ©λΆν μμΌλ―λ‘ λ‘κ·Έλ₯Ό λ³Ό μ μμ λκΉμ§ μλν΄ λ³Ό κ°μΉκ° μμ΅λλ€.
nodejs 12λ‘ λ€μ΄ κ·Έλ μ΄λλμμ§λ§ μ¬μ ν λμΌν©λλ€. μμΉ¨μ μ‘°κΈμ΄λλ§ μ΄ν΄κ° λμ ¨μΌλ©΄ μ’κ² μ΅λλ€!
λ κ°μ§ λ²μ μ OctoFarm running man λλ ν¬νΈ 4000μμ μμνλ μλ²μ λ€λ₯Έ λ²μ μ΄ μμ΅λλ€.
λλ λΉμ μ΄ μΈλͺ¨λ‘ μ΄μ μΈμ€ν΄μ€λ₯Ό μ¬λ°λ₯΄κ² μ€μ§νλ€κ³ μκ°νμ§ μμ΅λλ€.
octofarm ν΄λμμ:
λ
Έλ ₯νλ€
pm2 list
OctoFarm μΈμ€ν΄μ€κ° νμλμ΄μΌ ν©λλ€. κ·Έλ λ€λ©΄ λ€μμ μ¬μ©νμμμ€.
npm run stop
κ·Έλ° λ€μ npm start
λ₯Ό μννλ©΄ μΈν°νμ΄μ€μ μ‘μΈμ€ν μ μμ΅λλ€. κ·Έ μΈμλ μλ²κ° μ μμλλ κ² κ°μμ΅λλ€.
https://octofarm.net/ μμλ μ΅μ μ§μΉ¨μ νμΈνμμμ€. μ΄λ² μ£Όμ μ²μλ₯Ό μλ£νκ² μ΅λλ€.
λΉμ λ§μ΄ λ§λ κ² κ°μ΅λλ€. ν¬νΈ 4000μμ 무μΈκ°κ° μ€ν μ€μ λλ€. nxdλΌλ λͺ λ Ήμ΄ ν΄λΉ λ Έλμ λκΉ? κ·Έλ μ§ μμΌλ©΄ κ·Έκ²μ΄ 무μμΈμ§ μ μ μμ΅λλ€! κ·Έλ¦¬κ³ μλμΌλ‘ λ€μ μμλ©λλ€.
faheem@faheem :~ $ sudo lsof -i :4000
λͺ
λ Ή PID μ¬μ©μ FD μ ν μ₯μΉ ν¬κΈ°/λκΈ° λ
Έλ μ΄λ¦
nxd 2353 nx 3u IPv4 5928504 0t0 TCP *:4000(λ£κΈ°)
nxd 2353 nx 4u IPv6 5927461 0t0 TCP *:4000(λ£κΈ°)
faheem@faheem :~ $ sudo kill -9 2353
faheem@faheem :~ $ sudo lsof -i :4000
λͺ
λ Ή PID μ¬μ©μ FD μ ν μ₯μΉ ν¬κΈ°/λκΈ° λ
Έλ μ΄λ¦
nxd 24513 nx 3u IPv6 11516857 0t0 TCP *:4000(λ£κΈ°)
nxd 24513 nx 4u IPv4 11517317 0t0 TCP *:4000(λ£κΈ°)
pm2 λͺ©λ‘μ μ΄μ μΈμ€ν΄μ€κ° μ€μ§λμμμ 보μ¬μ€λλ€(μ μκ°μλ).
faheem@faheem-HP-EliteBook-8470p :~/OctoFarm$ pm2 λͺ©λ‘
ββββββ¬βββββββββββββββββββββ¬ββββββββββββ¬βββββββ¬ββββββ βββββββ¬βββββββββββ¬ββββββββββββ
β id β μ΄λ¦ β λͺ¨λ β βΊ β μν β cpu β λ©λͺ¨λ¦¬ β
ββββββΌββββββββββββββββββββββΌββββββββββββΌβββββββΌββββββ βββββββΌβββββββββββΌββββββββββββ€
β 0 β OctoFarm β ν¬ν¬ β 15 β μ€μ§ β 0% β 0b β
ββββββ΄βββββββββββββββββββββ΄ββββββββββββ΄βββββββ΄ββββββ βββββββ΄βββββββββββ΄ββββββββββββ
λμ μ£Όμ
μ κ°μ¬ν©λλ€. ν¬νΈ 4000μμ μμ λκΈ°νλ nxd λͺ
λ Ήμ΄ λ¬΄μμΈμ§ μ μ μλ€λ©΄ κ³ μΉ μ μμ κ² κ°μ΅λλ€. λλ OctoFarmμ΄ λ€λ₯Έ ν¬νΈμμ μμ νλλ‘ νλ λ°©λ²μ΄ μμ΅λκΉ?
λΉμ λ§μ΄ λ§λ κ² κ°μ΅λλ€. ν¬νΈ 4000μμ 무μΈκ°κ° μ€ν μ€μ λλ€. nxdλΌλ λͺ λ Ήμ΄ ν΄λΉ λ Έλμ λκΉ? κ·Έλ μ§ μμΌλ©΄ κ·Έκ²μ΄ 무μμΈμ§ μ μ μμ΅λλ€! κ·Έλ¦¬κ³ μλμΌλ‘ λ€μ μμλ©λλ€.
faheem@faheem :~ $ sudo lsof -i :4000
λͺ λ Ή PID μ¬μ©μ FD μ ν μ₯μΉ ν¬κΈ°/λκΈ° λ Έλ μ΄λ¦
nxd 2353 nx 3u IPv4 5928504 0t0 TCP *:4000(λ£κΈ°)
nxd 2353 nx 4u IPv6 5927461 0t0 TCP *:4000(λ£κΈ°)
faheem@faheem :~ $ sudo kill -9 2353
faheem@faheem :~ $ sudo lsof -i :4000
λͺ λ Ή PID μ¬μ©μ FD μ ν μ₯μΉ ν¬κΈ°/λκΈ° λ Έλ μ΄λ¦
nxd 24513 nx 3u IPv6 11516857 0t0 TCP *:4000(λ£κΈ°)
nxd 24513 nx 4u IPv4 11517317 0t0 TCP *:4000(λ£κΈ°)pm2 λͺ©λ‘μ μ΄μ μΈμ€ν΄μ€κ° μ€μ§λμμμ 보μ¬μ€λλ€(μ μκ°μλ).
faheem@faheem-HP-EliteBook-8470p :~/OctoFarm$ pm2 λͺ©λ‘
ββββββ¬βββββββββββββββββββββ¬ββββββββββββ¬βββββββ¬ββββββ βββββββ¬βββββββββββ¬ββββββββββββ
β id β μ΄λ¦ β λͺ¨λ β βΊ β μν β cpu β λ©λͺ¨λ¦¬ β
ββββββΌββββββββββββββββββββββΌββββββββββββΌβββββββΌββββββ βββββββΌβββββββββββΌββββββββββββ€
β 0 β OctoFarm β ν¬ν¬ β 15 β μ€μ§ β 0% β 0b β
ββββββ΄βββββββββββββββββββββ΄ββββββββββββ΄βββββββ΄ββββββ βββββββ΄βββββββββββ΄ββββββββββββ
λμ μ£Όμ μ κ°μ¬ν©λλ€. ν¬νΈ 4000μμ μμ λκΈ°νλ nxd λͺ λ Ήμ΄ λ¬΄μμΈμ§ μ μ μλ€λ©΄ κ³ μΉ μ μμ κ² κ°μ΅λλ€. λλ OctoFarmμ΄ λ€λ₯Έ ν¬νΈμμ μμ νλλ‘ νλ λ°©λ²μ΄ μμ΅λκΉ?
μ°Ύμμ΄μ! NoMachineμ΄λΌλ μννΈμ¨μ΄κ° μ€ν μ€μ΄κ³ ν¬νΈ 4000μμ μμ λκΈ°νλ nxd νλ‘μΈμ€μΈ κ²μΌλ‘ λνλ¬μ΅λλ€. λ€λ₯Έ ν¬νΈμμ μμ λκΈ°νλλ‘ μ¬μ€μ νμΌλ©° OctoFarmμ΄ μλν©λλ€!
λμμ μ£Όμ μ λ€μ ν λ² κ°μ¬λ립λλ€. https://octofarm.net/μ λν μ§μΉ¨μ λ°λμ΅λλ€. λλ½λ μ μΌν κ²μ mongodb μλΉμ€λ₯Ό μμνλ κ²λΏμ΄μμ§λ§ μ¬λΆν νλλ° μλμΌλ‘ λ€μ μμλμ§ μμκΈ° λλ¬ΈμΌ μ μμ΅λλ€.
λΉμ λ§μ΄ λ§λ κ² κ°μ΅λλ€. ν¬νΈ 4000μμ 무μΈκ°κ° μ€ν μ€μ λλ€. nxdλΌλ λͺ λ Ήμ΄ ν΄λΉ λ Έλμ λκΉ? κ·Έλ μ§ μμΌλ©΄ κ·Έκ²μ΄ 무μμΈμ§ μ μ μμ΅λλ€! κ·Έλ¦¬κ³ μλμΌλ‘ λ€μ μμλ©λλ€.
faheem@faheem :~ $ sudo lsof -i :4000
λͺ λ Ή PID μ¬μ©μ FD μ ν μ₯μΉ ν¬κΈ°/λκΈ° λ Έλ μ΄λ¦
nxd 2353 nx 3u IPv4 5928504 0t0 TCP *:4000(λ£κΈ°)
nxd 2353 nx 4u IPv6 5927461 0t0 TCP *:4000(λ£κΈ°)
faheem@faheem :~ $ sudo kill -9 2353
faheem@faheem :~ $ sudo lsof -i :4000
λͺ λ Ή PID μ¬μ©μ FD μ ν μ₯μΉ ν¬κΈ°/λκΈ° λ Έλ μ΄λ¦
nxd 24513 nx 3u IPv6 11516857 0t0 TCP *:4000(λ£κΈ°)
nxd 24513 nx 4u IPv4 11517317 0t0 TCP *:4000(λ£κΈ°)
pm2 λͺ©λ‘μ μ΄μ μΈμ€ν΄μ€κ° μ€μ§λμμμ 보μ¬μ€λλ€(μ μκ°μλ).
faheem@faheem-HP-EliteBook-8470p :~/OctoFarm$ pm2 λͺ©λ‘
ββββββ¬βββββββββββββββββββββ¬ββββββββββββ¬βββββββ¬ββββββ βββββββ¬βββββββββββ¬ββββββββββββ
β id β μ΄λ¦ β λͺ¨λ β βΊ β μν β cpu β λ©λͺ¨λ¦¬ β
ββββββΌββββββββββββββββββββββΌββββββββββββΌβββββββΌββββββ βββββββΌβββββββββββΌββββββββββββ€
β 0 β OctoFarm β ν¬ν¬ β 15 β μ€μ§ β 0% β 0b β
ββββββ΄βββββββββββββββββββββ΄ββββββββββββ΄βββββββ΄ββββββ βββββββ΄βββββββββββ΄ββββββββββββ
λμ μ£Όμ μ κ°μ¬ν©λλ€. ν¬νΈ 4000μμ μμ λκΈ°νλ nxd λͺ λ Ήμ΄ λ¬΄μμΈμ§ μ μ μλ€λ©΄ κ³ μΉ μ μμ κ² κ°μ΅λλ€. λλ OctoFarmμ΄ λ€λ₯Έ ν¬νΈμμ μμ νλλ‘ νλ λ°©λ²μ΄ μμ΅λκΉ?μ°Ύμμ΄μ! NoMachineμ΄λΌλ μννΈμ¨μ΄κ° μ€ν μ€μ΄κ³ ν¬νΈ 4000μμ μμ λκΈ°νλ nxd νλ‘μΈμ€μΈ κ²μΌλ‘ λνλ¬μ΅λλ€. λ€λ₯Έ ν¬νΈμμ μμ λκΈ°νλλ‘ μ¬μ€μ νμΌλ©° OctoFarmμ΄ μλν©λλ€!
λμμ μ£Όμ μ λ€μ ν λ² κ°μ¬λ립λλ€. https://octofarm.net/μ λν μ§μΉ¨μ λ°λμ΅λλ€. λλ½λ μ μΌν κ²μ mongodb μλΉμ€λ₯Ό μμνλ κ²λΏμ΄μμ§λ§ μ¬λΆν νλλ° μλμΌλ‘ λ€μ μμλμ§ μμκΈ° λλ¬ΈμΌ μ μμ΅λλ€.
λλ κ°μ μννΈμ¨μ΄λ₯Ό μ¬μ©ν©λλ€! κ·Έκ²μ 4000 ahahahaμμ μ€νλ©λλ€. νλ₯ν©λλ€. μ λ¦¬κ° λμ ¨λ€λ λ€νμ λλ€.
λ€, μ£μ‘ν©λλ€. μ¬κΈ°μλ MongoDB λ€μ μμμ λν μΉμ λ μμ΄μΌ νμ§λ§ μ§λ μ£Όμλ§ μ λ°μ΄νΈνμ΅λλ€.