2013-10-15 11 views
8

tôi muốn triển khai sails.js (phiên bản 0.9.7) ứng dụng để OpenShift nhưng sau git push tôi nhận log này:Triển khai Sails.js trên OpenShift ... ứng dụng khởi động lại hơn và hơn

debug: Lowering sails... 
DEBUG: Starting child process with 'node app.js' 
. 
. 
. 
info: Server lifted in `/var/lib/openshift/525ccaba5973caa65100002b/app-root/runtime/repo` 
info: To see your app, visit http://127.7.215.1:8080 
info: To shut down Sails, press <CTRL> + C at any time. 
. 
. 
debug: -------------------------------------------------------- 
debug: :: Tue Oct 15 2013 03:03:56 GMT-0400 (EDT) 
debug: 
debug: Environment  : development 
debug: Host    : 127.7.215.1 
debug: Port    : 8080 
debug: -------------------------------------------------------- 
. 
. 
error: Server doesn't seem to be starting. 
error: Perhaps something else is already running on port 8080 with hostname 127.7.215.1? 
. 
. 
debug: Lowering sails... 
DEBUG: Starting child process with 'node app.js' 

Sau một vài lời khuyên từ this thread on GitHub và cũng đã kiểm tra mẫu config/local.jshttps://gist.github.com/chrisaiv/5938158

Sau khi kiểm tra bất kỳ sự kết hợp các máy chủ OpenShift chỉ là khởi động lại hơn và hơn. Tôi cũng đã thử nghiệm một số cổng như 8080, 80, 1337, ... và tôi không nghĩ tất cả đều bận rộn. Tôi đã cố gắng để chạy node app.js và ứng dụng đáng ngạc nhiên hoạt động trên cổng 8080 nhưng chỉ cho đến khi tôi thử truy cập vào views/home/index, có lẽ vì từ ssh Tôi không có đủ quyền.

Chỉ trong trường hợp, ở đây như thế nào tập tin config/local.js của tôi trông giống như:

module.exports = { 
     port: process.env.OPENSHIFT_NODEJS_PORT, 
     host: process.env.OPENSHIFT_NODEJS_IP 
     } 

cảm ơn bạn cho lời khuyên nào ;-)

+0

Tôi đã sử dụng openhift trước đây. Chỉ có một rắc rối của nó ... tốt hơn là không làm việc trên giải pháp web/đám mây đó. – Merlin

Trả lời

1

Lý do ứng dụng của bạn sẽ tiếp tục khởi động lại hơn và hơn là vì những cánh buồm ứng dụng tạo một thư mục có tên là .tmp và đặt tất cả nội dung vào đó. Điều đó có nghĩa là ứng dụng buồm của bạn sẽ ghi các tệp cục bộ. Nhưng Mở rộng sử dụng node-supervisor để bắt đầu ứng dụng nút và node-supervisor theo dõi tất cả thay đổi của tệp sau khi khởi động ứng dụng. Nếu bất kỳ tệp nào bị thay đổi, node-supervisor sẽ khởi động lại máy chủ.

Bạn có thể thử npm i supervisor -g và khởi động ứng dụng của mình bằng cách nhập node-supervisor app.js để xem cùng một nhật ký.

Tôi nghĩ giải pháp là làm cho SailsJS ngừng ghi tệp cục bộ, nhưng tôi không chắc chắn cách thực hiện điều đó.

+0

Cảm ơn thông tin của bạn ;-) có thể sẽ giúp chỉ thiết lập đường dẫn tệp .tmp ở đâu đó đến thư mục tmp được cung cấp bởi môi trường openshift. Tôi đã chuyển dự án của mình sang thư viện Hapi vốn hoạt động tốt, nhưng đối với dự án tiếp theo tôi muốn quay trở lại với những cánh buồm có vẻ như nhân viên tuyệt vời, cảm ơn bạn một lần nữa ;-) – m1uan

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