tomcat7によるIDEA開発ツールMavenプロジェクトは、リモート展開プロジェクトを差し込みます

1.ユーザーのTomcatと権利を追加します。

などを通じた管理者権限、ない通常のTomcatユーザながらそれは、自動的にTomcatを展開に関するので、管理者権限のTomcatを持つ必要として{TOMCAT_HOME}/bin/startup.bat、ホームの右側に開始Tomcatの後にマネージャーアプリケーション、管理者アカウントとパスワードを入力する必要がありますプロジェクトサーバは、そうでない場合、我々はページを入力するように管理することができませんでした、プロジェクトで管理することができます。

ユーザーと権限を追加するには、また、非常にシンプルである{TOMCAT_HOME}/conf/tomcat-users.xmlファイル、</tomcat-users>ノードに次を追加し、管理役割とユーザーを作成し、ユーザ管理ロールを認可:

<role rolename="manager-gui" />
<role rolename="manager-script" /> <user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/> 

ホームTomcatを入力した後 - >マネージャアプリケーションのテスト管理者アカウントが正常に作成され

注意:

  • ユーザー名とパスワードは、シンプルメモリのためにここで使用される、カスタマイズすることができますTomcatのユーザー名とパスワードと同じ時間に。
  • ここではいくつかのオンラインのブログには、権限の数で構成されますが、この段階で彼らの役割と意義をそこに見つけることができませんでした。

2. [設定Tomcatのリモートアクセスを許可

Tomcatのデフォルトは、ローカルの展開を可能にする、それがリモートサーバにデプロイする場合は、リモートサーバーを必要とする、{TOMCAT_HOME}conf/Catalina/localhost/ディレクトリの作成manager.xml、ファイルを、次の項目を設定します。

<?xml version="1.0" encoding="UTF-8"?> <Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> </Context> 

あなたには、いくつかのIPがアクセス権を持ってできるようにしたい場合は、設定することができますallowように、ノードを

allow="127.0.0.1,192.168.1.*"

代表ホストがアクセスすることができるようにします。

注:このステップを設定しない場合、ローカルのTomcatサーバが適切に展開するが、リモートTomcatサーバーを下に報告される一般的な問題述べCannot invoke Tomcat manager: Connection reset by peer: socket write error異常

3. MavenのTomcatの管理者アカウントを追加します。

あなたは管理者のMavenのTomcatのアカウント情報を持っている必要がありますので、プロジェクトを構築、配備するMavenを使用する必要性に起因します。
{MAVEN_HOME}/conf/settings.xml、ファイル<servers>ノードの下に次の行を追加します。

<!-- 配置可以操作tomcat的用户名和密码 -->
<server>
    <id>crocutax</id> <!-- server login name --> <username>tomcat</username> <!-- server login password --> <password>tomcat</password> </server> 

4.設定プラグtomcat7

コメントを表示するために、特定のノードまたは下記のリストを意味する、のpom.xmlプロジェクトでtomcat7プラグインの設定

<!-- 配置Tomcat插件 -->
<plugin>
    <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- 此处的名字必须和{MAVEN_HOME}/conf/settings.xml中配置的server节点的id一致--> <server>crocutax</server> <!--服务器端口号--> <port>8080</port> <!-- 项目发布的路径,默认就是tomcat/webapps目录,可以指定深层次目录,留"/",则默认在webapps目录下部署ROOT.war包--> <path></path> <!-- 注意tomcat7此处的url,不能随意修改,后缀必须是text,不能是html. 如果是本地tomcat部署,用localhost和ip都可以 --> <url>http://localhost:8080/manager/text</url> <!--<url>http://117.62.110.110:8080/manager/text</url>--> <!--解决中文参数乱码问题--> <uriEncoding>UTF-8</uriEncoding> <update>true</update> <!--配置在tomcat\conf\tomcat-users.xml中定义的用户名--> <username>tomcat</username> <password>tomcat</password> </configuration> </plugin> 

ノードリスト

  • サーバー:名前でなければなりません{MAVEN_HOME}/conf/settings.xmlIDサーバノード構成と一致
  • ポート:サーバーのポート番号
  • パス:プロジェクトを解放するパスは、デフォルトでは、あなたは、「/」webappsに展開パッケージROOT.war下のデフォルトのディレクトリを、深いディレクトリを指定残すことができるのtomcat / webappsにディレクトリです
  • URL:テキストでなければならない、HTMLそうでない場合、ローカルのTomcatは、展開、およびローカルホストのIPを使用するにはすることができ、ここでのURL tomcat7を注意してサフィックスを変更することはできません。
  • URIEncoding:中国のパラメータは、ゴミ問題を解決します
  • アップデート:熱い展開、それ以外の場合は後者のエラーになります
  • ユーザ名:設定{TOMCAT_HOME}\conf\tomcat-users.xmlユーザー定義名
  • パスワード:同上

5. [スタート] Tomcatサーバー

最初にすることで{TOMCAT_HOME}/bin/startup.bat、それ以外の場合は異常であると報告され、完了してから展開Tomcatを開始した後、スタート

Cannot invoke Tomcat manager: Connection refused: connect -> [H
elp 1]

6.mavenコマンドが展開します

IDE->ターミナルプロジェクトのルートディレクトリやオープンDOSウィンドウで、コマンドMavenを入力してください

  • クリーンMVN用パッケージ変更のTomcat:展開(のpom.xmlバージョンの設定が2.2である場合、コマンドエラーの使用、その後、プラグインのバージョン1.1を使用して)
  • クリーンMVNのためのパッケージ変更tomcat7:展開(プラグインのバージョン2.2を使用して、彼らはこれを使用)

それから彼は残りのコマンドラインを見て

...
[INFO] --- maven-war-plugin:2.2:war (default-war) @ cmw ---
[INFO] Packaging webapp
[INFO] Assembling webapp [cmw] in [D:\code\server\chinesemedicine\target\cmw]
[INFO] Processing war project
[INFO] Copying webapp resources [D:\code\server\chinesemedicine\src\main\webapp]
[INFO] Webapp assembled in [887 msecs]
[INFO] Building war: D:\code\server\chinesemedicine\target\cmw.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] <<< tomcat7-maven-plugin:2.2:deploy (default-cli) < package @ cmw <<< [INFO] [INFO] [INFO] --- tomcat7-maven-plugin:2.2:deploy (default-cli) @ cmw --- [INFO] Deploying war to http://localhost:8080/cmw Uploading: http://localhost:8080/manager/text/deploy?path=%2Fcmw&update=true Uploaded: http://localhost:8080/manager/text/deploy?path=%2Fcmw&update=true (45960 KB at 40564.5 KB/sec) [INFO] tomcatManager status code:200, ReasonPhrase:OK [INFO] OK - Deployed application at context path /cmw [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 18.075 s [INFO] Finished at: 2017-09-17T11:31:21+08:00 [INFO] Final Memory: 20M/293M [INFO] ------------------------------------------------------------------------ 

表示されたSUCCESSを構築し、成功を展開!

一般的な展開コマンドTomcat7プラグインのマニュアルは、一般的に、ここで使用されるいくつかのリストで詳細です:

  • tomcat7:実行が現在のプロジェクトを実行します
  • tomcat7:展開現在のプロジェクトを展開
  • tomcat7:再デプロイ再デプロイプロジェクトを
  • tomcat7:アンデプロイアンデプロイ現在のプロジェクト

よくある質問

Tomcatの返すHTTPステータスエラー:401、理由フレーズ:不正な

不正アクセスのTomcat、操作「Tomcatはユーザーと権限の追加」の手順1を行っていない場合は、何の管理権限がないことをtomcatには、この例外は、リモート展開を報告します。

別の場合には、されたconf/tomcat-users.xml構成とユーザー権限

<!-- 创建用户,并授权 -->
<role rolename="manager-gui" /> <role rolename="manager-script" /> <user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/> 

しかし、例外情報は、テストサーバーのTomcatホームマネージャアプリケーションは、その後、残っているTomcatの管理者の役割の定義は通常の着陸することができないことがわかりました。これは、ユーザーとロールの構成の問題を示して、トラブルシューティングを続行し、tomcatのログインを開始、我々は次の異常が見つかりました:

警告: Unexpected exception resolving reference
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。 

影響漢字の疑いの原因があるので、すなわち、中国のtomcat-users.xmlの中でコメントを削除

<!-- 创建用户,并授权 -->

再び展開し、Tomcatのマネージャーアプリのテストが成功し、ワンクリックのリモート展開が成功します!

注意:

これはインクルードはERRORをWARN、まだTomcatのような機能の喪失につながる失敗した内部手続きの負荷の一部を引き起こすかもしれませんが、ここで正常に起動しましたが、内部構成管理権限が失敗する権限がないため、リモートの展開につながった、失敗しました。エネルギーが十分であれば、厳密さの観点から、すべて無視することはできませんWARN。

ソケットの書き込みエラー:ピアによって接続がリセット

异常信息:[ERROR]目標org.apache.tomcat.maven実行に失敗しました:tomcat7-mavenの-プラグイン:2.2:プロジェクトCMW上(デフォルト-CLI)を展開:Tomcatマネージャを起動できません:ピアによって接続がリセットさ:socke
トンの書き込みエラー- > [ヘルプ1]

これは例外であるべきときに発生する可能性が最も高いの展開、そしてどこに長い時間のためのカード。オンライン大きな円を検索します。根本的な理由は次のとおりです。クライアントが要求(リクエスト)を行う際に、まだ完全にネットを押して「停止」ボタン、またはクライアントから外れ、例えば(サーバー接続されたクライアントとサーバのセグメントが切断応答(レスポンス)を取得されていない場合ブラウザはなど、閉じられている)、サーバは、この例外がスローされます。

この問題は、多くの方法でトラブルシューティングする必要があります。

1.リモートサーバの場合は、ステップ2を参照して、リモートアクセスを許可するようにTomcatを設定する必要があります

2.いくつかのステップ1でユーザー権限を設定tomcat9と、同じユーザー両方持つことができないmanager-guimanager-script権限を、私は去った後、まだ問題が解決しません。結局tomcat9の使用を放棄し、tomcat7を使用し、すべてが正常です。

3. Tomcatのプロジェクトを展開している場合は、我々は、コマンドを再デプロイする必要がある、つまり、mvn tomcat7:redeploy

展開後404プロジェクト

次の三つの理由は、展開は正常にアクセスすることはできませんした後、プロジェクトをもたらしたこと、404が報告しました:

  1. リモートサーバーの場合、ポート8080は、ネットワークルールに追加されていることを確認してください
  2. tomcat7プラグインでのpom.xml path問題のノード構成
  3. 404プロジェクト自体

Tomcatのメモリリーク

Tomcatのログが報告されました

Webアプリケーション[/ AppStoreのは]という名前のスレッド[スレッド-2]を開始しているように見えますが、それを止めることができなかった、これはメモリリークを作成する可能性が非常に高いです


非オリジナルは、以下のソースとを参照してください
王Xiの温家宝:著者
リンクします。https://www.jianshu.com/p/d4585b83b9dd

おすすめ

転載: www.cnblogs.com/helloworldmybokeyuan/p/11229712.html