2012-01-04 22 views
6

Tôi đang cố gắng sử dụng Foreman (phiên bản 0.31.0) để quản lý các quy trình của ứng dụng nhưng tôi không có nhiều may mắn với nginx (nginx/1.0.10 + Phusion Passenger 3.0.11).Foreman không làm việc với NGINX

Đây là dòng có liên quan từ Procfile tôi:

nginx: sudo /home/ubuntu/nginx/sbin/nginx 

Khi tôi bắt đầu ứng dụng, Foreman báo cáo rằng nginx được bắt đầu và sau đó ngay lập tức chấm dứt:

$ foreman start 
21:18:28 nginx.1 | started with pid 27347 
21:18:28 nginx.1 | process terminated 
21:18:28 system | sending SIGTERM to all processes 

Tuy nhiên, nginx đang thực sự chạy, mặc dù Foreman báo cáo khác.


Tương tự như vậy, nếu tôi xuất khẩu sang Upstart:

rvmsudo foreman export upstart /etc/init -a my_app -u ubuntu 

và chạy sudo start my_app, nginx bắt đầu đúng cách. Nhưng sudo stop my_appkhông dừng nginx. Nó tiếp tục chạy.

Có mẹo vặt để nginx làm việc với Foreman không?

Lưu ý: Tôi đã tìm thấy this issue with Foreman và tôi tự hỏi nếu nó có liên quan.

Trả lời

9

Bạn sẽ muốn chạy nginx trong chế độ foreground bằng cách thêm dòng sau vào nginx.conf bạn

daemon off; 

Bạn có thể chỉ định một tùy chỉnh nginx.conf để nginx với đối số -c

+0

Yep , hoạt động hoàn hảo ngay bây giờ. Cảm ơn! Tôi cho rằng đây là một trong những ngoại lệ cho phép đối với _ "không sử dụng' daemon off' trong sản xuất "_ quy tắc được đề cập trong tài liệu nginx cho [daemon] (http://wiki.nginx.org/CoreModule#daemon) . –

+3

Bạn có thể làm '/ usr/local/nginx/sbin/nginx -g 'daemon tắt;" 'thay vì sửa đổi nginx.conf nhưng' daemon off' là để phát triển. Người quản lý có được sử dụng trong sản xuất không? – PhilT

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