2013-01-19 16 views
7

Thiết lập của tôi: Ubuntu 12.04 LTS, Apache, Phusion Passenger, Ruby và Rails mới nhất.Lỗi ứng dụng Rails: Kết thúc sớm tiêu đề tập lệnh

Khi tôi truy cập trang web của mình, tôi nhận được 500 lỗi máy chủ nội bộ. Tệp nhật ký lỗi: Kết thúc sớm tiêu đề tập lệnh

Có ai biết cách giải quyết vấn đề đó không?

+0

'Kết thúc sớm của tiêu đề tập lệnh 'này nằm trong nhật ký apache của bạn và khá vô ích đối với bản thân nó. Bản ghi đường ray của bạn có cung cấp cho bạn bất kỳ thông tin nào tốt hơn không? – deefour

+0

trong production.log không có gì đặc biệt trong quan điểm của tôi. Dòng cuối cùng là: Kết nối với cơ sở dữ liệu được chỉ định bởi database.yml. Tôi chưa sử dụng một db và không có db được cài đặt trên máy chủ. Nhưng tôi đã chỉ định một postgresdb trong database.yml. Điều này có thể gây ra lỗi đó không? – crispychicken

Trả lời

4

Nếu bạn có cơ sở dữ liệu được cấu hình cho production trong số config/database.yml không tồn tại trên máy chủ như bạn đã đề cập trong nhận xét, đó có thể là nguồn của sự cố của bạn vì nó không thành lập kết nối cơ sở dữ liệu.

Xóa kết nối đó khỏi config/database.yml và khởi động lại ứng dụng của bạn.

+0

vâng, đã hoạt động! thanks – crispychicken

8

Chỉ cần đăng ở đây trong trường hợp người khác có cùng sự cố như tôi đã làm.

Tôi theo dõi Rails tutorial và một phần của hướng dẫn đó đã đảm bảo rằng secret_token được tạo động (liệt kê 3.2 trong liên kết) dưới dạng tệp .secret trong thư mục gốc của ứng dụng.

Vấn đề là ứng dụng bằng cách nào đó không viết mã thông báo cho tệp, vì vậy tôi lấy giá trị từ sự phát triển của tôi .secret, sửa đổi và lưu nó trên máy chủ. Điều đó làm cho ứng dụng của tôi hoạt động trong sản xuất.

-1

Hãy chắc chắn rằng bạn là môi trường phát triển:

RailsEnv development

Thêm vào VirtualHost cấu hình

+0

Nó có thể là một bước gỡ lỗi hữu ích nhưng điều này giống như một máy chủ sản xuất, và sử dụng một môi trường phát triển đường ray trong sản xuất là không tuyệt vời – James

0

Ok. Tôi gặp chính xác cùng một vấn đề bằng cách sử dụng dreamhost VPS.

Tôi đã thực hiện 2 lỗi. Trước hết tôi không chạy "gói exec rake db: di chuyển" trong chế độ sản xuất, tức là "gói exec rake db: di chuyển RAILS_ENV = production"

nhưng vấn đề này vẫn tiếp tục hiển thị. Sau đó tôi đã thử câu trả lời Jesper8. Tôi chạy "bí mật cào" và sao chép mã bí mật để cấu hình/file secrets.yml trước mặt "sản xuất: secret_key_base:"

Khởi động lại ứng dụng của tôi và nó làm việc

Hy vọng điều này có thể giúp đỡ một người nào đó phải đối mặt với vấn đề tương tự

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