最近Glassfish 4.0をダウンロードし、Webアプリケーションを作成するためにNetBeansで使用したいのですが、domain1(asadmin> start-domain domain1)を起動したいときにこのエラーが発生し続けます: 「すでに管理ポート4848を使用しているプロセスがあります。これはおそらくGlassFishサーバーの別のインスタンスです」。何が問題になるのでしょうか?
システムがポート4848を使用しているのはそのためです。 glassfishが必要になると、管理用、httpアプリケーション用、https用の3つのポート番号が必要になります。
そのため、システム4848はすでに何らかのプログラムまたはサーバーによって予約されています。
または、以下のように、必要に応じてデフォルトのポート番号を変更できます。コマンドプロンプトに入力します。
HTTPポートを10080に変更するには:
asadmin set server.http-service.http-listener.http-listener-1.port=10080
HTTPSポートを10443に変更するには:
asadmin set server.http-service.http-listener.http-listener-2.port=10443
管理サーバーのポートを14848に変更するには:
asadmin set server.http-service.http-listener.admin-listener.port=14848
Glassfishはホスト名を解決できませんでした。次のように(Linuxで)問題を診断します。
hostname
と入力します。ping $(hostname)
Pingコマンドが失敗した場合(ホストが見つからなかった場合)、ホスト名を_/etc/hosts
_に追加します。これは次のように実行できます。
Sudo su -
_echo "127.0.0.1 $(hostname)" >> /etc/hosts
端末でlsof -i:4848
を試してください。
コマンドkill -9 <PID>
を使用してリストされたJavaプロセスを強制終了します。
OSXのアクティビティモニターのようなGUIタスクマネージャーがある場合は、そこにリストされているJava
プロセスを強制終了できます。
これがこの問題に直面している人のために働くことを願っています。
解決策は次のとおりです:コンソールタイプで:
echo $HOSTNAME
次に、出力が127.0.0.1文字列に従うことを確認します
/etc/hosts
例えば:
127.0.0.1 dev.myserv.pl
やる
netstat -aon
コマンドラインから、どのプロセスがポートを使用しているかを確認してください。それが重要でない場合は、手っ取り早く解決策として殺してください。