2012-04-02 25 views
25

Khá chắc chắn một số người đã gặp sự cố này trước đây.Lỗi Heroku H14 (Không có quy trình web nào đang chạy)

Làm theo tất cả các hướng dẫn để thiết lập nút và npm. Khi đẩy vào heroku không có lỗi. Nhưng khi tôi mở ứng dụng, nó cho thấy "Lỗi Ứng dụng"

heroku ps 

lợi nhuận

Process State  Command  
------- --------- ------------ 
main.1 up for 1m node main.js 

khi

heroku logs 

lợi nhuận

Error H14 (No web processes running) -> GET mewtwo.herokuapp.com/ dyno= queue= wait= service= status=503 bytes= 

Tôi đã cố gắng khởi động lại ứng dụng với heroku restart nhưng st bị bệnh có cùng lỗi. Google xung quanh và không có giải pháp nào khác ngoài heroku restart. Bất cứ ai đã thử các phương pháp khác?


Trả lời: (tôi đặt nó ở đây kể từ khi đại diện của tôi quá thấp để gửi câu trả lời nào)

Ok cuối cùng figured it out bản thân mình.

Rõ ràng trong Procfile, tôi tuyên bố

main: node main.js 

nhưng Heroku sử dụng

web: node main.js 

Tôi nghĩ việc đặt tên có thể được bất cứ điều gì bạn muốn nhưng nó thực sự chặt chẽ, bạn cần phải sử dụng web để nó hoạt động (heroku không nhấn mạnh điều này - hãy cảnh giác) ít nhất là cho đến bây giờ, cho đến khi tôi tìm ra lý do tại sao sự khắt khe này và nếu tôi có thể thay đổi tên.

+0

Bạn có chắc chắn đã mua web- trường hợp công nhân? – sarnold

+0

Tôi có phải mua không? Tôi chỉ làm theo hướng dẫn cài đặt - https://devcenter.heroku.com/articles/nodejs, tôi cho rằng nó miễn phí trừ khi bạn muốn thêm nhiều hơn? –

+0

tìm thấy báo giá "Chạy nhiều hơn một dyno trong một khoảng thời gian dài có thể phát sinh phí vào tài khoản của bạn". Tôi chỉ chạy một cái. –

Trả lời

13

Tên của quy trình web của bạn phải là web và đây là quá trình mà Heroku sẽ luôn luôn mở rộng thành '1' khi triển khai ban đầu.

Các dịch vụ khác trong Procfile có thể được gọi là những gì bạn muốn, nhưng bạn cần mở rộng quy mô ban đầu (vì vậy bạn có thể chỉ có các quy trình trong đó nếu bạn muốn).

biết thêm thông tin ở đây: http://neilmiddleton.com/the-procfile-is-your-friend/ (phiên bản cache: https://web.archive.org/web/20130926005616/http://www.neilmiddleton.com/the-procfile-is-your-friend)

+0

Tôi sẽ thêm rằng nếu anh ta thực sự muốn có một quy trình được đặt tên là "chính", không liên quan gì đến web (đối với quy trình làm việc, không có định tuyến http), anh có thể thực hiện bằng cách chia tỷ lệ web = 0 main = 1, và sau đó khởi động lại –

+0

Không cần khởi động lại khi mở rộng quy mô. –

71

tôi đã cùng một vấn đề, nhưng đối với tôi đó là vì tôi cần thiết để chạy heroku ps:scale web=1

+11

Điều này là cần thiết nếu ban đầu bạn quên đẩy một 'Procfile'. Trong trường hợp đó, thậm chí đẩy một hoặc sau đó chạy 'heroku ps: restart' sẽ không giúp được gì. – kynan

+3

tôi đã không nhìn thấy bất cứ điều gì sau khi thêm một Procfile. nhưng sau đó thiết lập ps: scale web = 1 có mọi thứ và chạy ngay lập tức. cảm ơn! – emilebaizel

+0

Đã xảy ra với tôi sau khi sao chép một ứng dụng bằng cách sử dụng 'heroku fork' –

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