2012-08-26 24 views
14

Tôi đang viết ứng dụng nút và gần đây tôi đã chuyển từ cổng 3000 sang cổng 80 trên máy Mac OS X Lion của mình (chạy 10.7.4) và bất cứ khi nào tôi chạy nút server.js, tôi nhận được lỗi sau đâyViết ứng dụng nút và gặp phải lỗi khi chạy 'node server.js'

events.js:66 
    throw arguments[1]; // Unhandled 'error' event 
       ^
Error: listen EACCES 
    at errnoException (net.js:768:11) 
    at HTTPServer.Server._listen2 (net.js:891:19) 
    at listen (net.js:935:10) 
    at HTTPServer.Server.listen (net.js:984:5) 
    at Object.<anonymous> (/Users/ajain/Documents/Projects/Time-Feed/server.js:127:5) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.runMain (module.js:492:10) 

Bất kỳ ý tưởng nào về những gì tôi phải làm để khắc phục sự cố?

+0

Bạn có bất cứ máy chủ khác đang chạy trên cổng 80? – murgatroid99

Trả lời

27

Bạn cần có đặc quyền gốc để nghe số cổng dưới 1024. Vì vậy, bạn có thể sử dụng lệnh sudo.

sudo node server.js 
+0

Cảm ơn bạn rất nhiều. Bạn có thể giải thích tại sao tôi có vấn đề đó? – mosquito242

+1

@ mosquito242 Bởi vì cổng <1024 có đặc quyền – JustSid

+0

@justsid oh ok. có ý nghĩa. – mosquito242

2

Nếu sudo không giúp chỉ cần thay đổi cổng để một cái gì đó giống như 1234 hoặc có lẽ 2000 hoặc 3000.

Các vấn đề liên quan