Cách hiển thị ổ cắm tên miền UNIX trực tiếp qua TCP


13

Tôi muốn có một ổ cắm tên miền UNIX, ví dụ /var/program/program.cmd, được hiển thị qua TCP, giả sử trên cổng 12345. Tôi cũng muốn điều này được chạy toàn thời gian trong nền.

Cách tốt nhất để làm điều này là gì? Nếu có liên quan, hệ thống đang chạy Ubuntu 12.04.2.

Ngoài ra với giải pháp đề xuất, nó sẽ tồn tại trong ổ cắm miền bị loại bỏ và được tạo lại?

BIÊN TẬP

Đây là kết quả của câu trả lời được chấp nhận dưới dạng một tập lệnh init: https://github.com/Wirehive/haproxy-remote

Câu trả lời:


18

Bạn có thể sử dụng socatđể xuất ổ cắm unix của mình dưới dạng ổ cắm TCP. Đây là lệnh để làm như vậy:

socat TCP-LISTEN:12345 UNIX-CONNECT:/var/program/program.cmd

Điều này sẽ tạo ra ổ cắm TCP lắng nghe trên cổng 12345, nó sẽ kết nối với ổ cắm unix được đề cập của chương trình của bạn.

Đối với vấn đề xóa, tôi đã không tự kiểm tra nó. Bạn có thể xác minh nó và cho chúng tôi biết về nó :)

Lưu ý: Bạn có thể không tìm thấy socat được cài đặt, bạn chỉ cần gõ: apt-get install socatđể cài đặt nó.


1
Cảm ơn rằng đã làm việc khá nhiều, mặc dù nó đã thoát sau mỗi lần giao tiếp. Sau khi chơi xung quanh tôi có thành công tốt đẹp với : socat TCP-LISTEN:12345,reuseaddr,fork,su=haproxy UNIX-CLIENT:/var/program/program.cmd. Câu hỏi duy nhất là làm thế nào tôi có được nó chạy trong nền?
SimonJGreen

@SimonJGreen: Vì đây không phải là lệnh tương tác yêu cầu đầu vào, bạn chỉ có thể thử nối thêm &vào cuối lệnh.
Khaled

OK tôi đã chạy với đề xuất và viết một kịch bản init để xử lý nó. Đây là kết quả cho bất cứ ai quan tâm! github.com/Wirehive/haproxy-remote
SimonJGreen

@alexandermensa quan tâm đến công phu?
Eduardo Bezerra
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.