วิธีแก้ปัญหา node.js warn - error raised: Error: listen EACCES

วิธีแก้ปัญหา node.js warn - error raised: Error: listen EACCES

เวลาที่รัน node แล้วใช้งาน socket ด้วยนั้น หากเจอ error

info  - socket.io started
warn  - error raised: Error: listen EACCES 

วิธีแก้ ง่ายมาก ก็คือ sudo , su เพื่อเข้าเป็น root user แล้วรัน app ใหม่อีกครั้งก็ใช้งานได้แล้วครับ ถ้ายังไม่ได้ ให้สั่ง

ps aux | grep node

แล้วตรวจสอบว่ามี app ไหนที่รันอยู่ เพราะว่า app นั้น อาจจะ พยายามใช้งาน port เดียวกัน ซึ่ง สอง application จะไม่สามารถใช้งาน port เดียวกันได้ครับ (ให้ลองนึกถึง ประตู 1 บาน เปิดไปเจอบ้านได้สองหลัง มันย่อมเป็นไปไม่ได้อย่างแน่นอน)

ทำไมจึงเป็นเช่นนั้น

เพราะว่าใน linux ไม่อนุญาตให้ user ที่ไม่มีสิทธ์ root เข้าใช้งาน port ที่ต่ำกว่า 1024 ด้วยเหตุผลด้านความปลอดภัย ดังนั้น แค่เข้าด้วยสิทธ์ root แล้วรัน node app ก็จบแล้วครับ หรืออีกทางก็คือ เลือกใช้งาน port อื่นๆไปเลย เช่น 8000, 8080 เป็นต้น

Create: Modify : 2013-04-09 09:03:59 Read : 2493 URL :