không thể chạy GlassFish vì có gì đó đang sử dụng cổng 8080; Nhưng làm thế nào để tìm thấy nó?


0

Tôi phát triển trên Mac (Lion) với Eclipse và GlassFish 3.1. GlassFish sử dụng các cổng 8080 và 4848. Đột nhiên, khi tôi cố gắng khởi chạy GlassFish, nó cho tôi biết điều đó không thể vì có xung đột cổng.

Theo như tôi có thể nói, không có gì là sử dụng cổng đó. Tôi tắt tất cả mọi thứ và khởi động lại máy Mac và vẫn gặp lỗi tương tự khi tôi chạy GlassFish. Tôi đã gỡ cài đặt GlassFish, xóa tất cả các thư mục, khởi động lại máy của tôi, cài đặt lại GlassFish và cùng một vấn đề.

Tôi đã tạo một người dùng thử nghiệm mới trên máy Mac của mình, đăng xuất với tư cách là tôi, đăng nhập với tư cách là anh ta, cài đặt GlassFish trong tài khoản người dùng đó và nó chạy tốt ở đó.

Giống như có một cái gì đó trong tài khoản người dùng của tôi khiến Mac hoặc GlassFish của tôi nghĩ rằng cổng đó đang được sử dụng.

Có ai biết làm thế nào tôi có thể giải quyết vấn đề này? Tôi ghét ý tưởng phải tạo một tài khoản mới trên máy Mac của mình và chuyển tất cả dữ liệu của tôi sang đó. Có vẻ như một giải pháp quá mức.


Nếu nmap không có gì, hãy thử telneting tới cổng
Đánh dấu

Câu trả lời:


1

NMAP sẽ cung cấp danh sách các cổng và chương trình mở hiện đang sử dụng chúng. Nó thực sự là một công cụ mạng mạnh mẽ có thể thực hiện nhiều nhiệm vụ bảo trì mạng.

Bạn có thể đọc thêm về nó ở đây: http://nmap.org/book/inst-macosx.html

Đây là một tiện ích dòng lệnh nhỏ (mặc dù giao diện người dùng GUI có sẵn) khá dễ sử dụng và sẽ cung cấp cho bạn cái nhìn chi tiết về trạng thái mạng hiện tại của bạn.


Chào cksum. cảm ơn đã giúp đỡ. Tôi đã thực hiện một số lsof và ít / etc / services và theo như tôi có thể nói là không có gì chạy bằng cổng đó. Tôi không biết tại sao GlassFish từ xa xung đột cổng.
Robert Hume

2
Tôi đề nghị bạn chạy nmap. Nó sẽ không tìm kiếm các dịch vụ hiện đang chạy, nhưng sẽ tự điều tra các cổng và cung cấp thông tin về những gì đang sử dụng chúng. lsof không thực sự là tiện ích tốt nhất cho công việc này. Ngoài ra, bạn có thể kích hoạt Network Utility (trong thư mục Tiện ích) và chạy Nestat. Điều đó sẽ cung cấp cho bạn một cái nhìn tốt hơn về trạng thái mạng của bạn.

0

Bạn có thể sử dụng lsof -i TCP:8080. Vấn đề duy nhất, tôi nghĩ, là nó sẽ phát hiện ra rằng Java đang sử dụng cổng đó; nếu bạn giết tiến trình java đó, bạn vẫn không thể khởi động Glassfish.

Giải pháp của tôi là xóa tất cả các tên miền trong thư mục Glassfish, sau đó xóa máy chủ Glassfish và cài đặt một tên miền mới với một tên miền mới.

Đối với tôi đó là một vấn đề tên miền.


"Vấn đề duy nhất tôi nghĩ là nó sẽ phát hiện ra rằng java đang sử dụng cổng đó. Và nếu bạn giết quá trình java đó, bạn vẫn không thể bắt đầu cá thủy tinh." ... Tại sao lại như vậy?
Peter tibraný

0

netstat -nap cũng sẽ làm việc. Nếu quy trình không phải là của riêng bạn, bạn sẽ cần sử dụng sudo. Nó sẽ liệt kê tất cả các cổng mở, với trạng thái của chúng và PID của quá trình sở hữu.

Cái gì đó như:

sudo netstat -nap | grep 8080
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.