要件:
PHPサーバーは、多くのプロジェクトの周りされている、と今私の新しいjavaWebプロジェクトは、新しくインストールされたのと同じサーバー内のTomcatにデプロイすると、ドメイン名でアクセスすることができます。
準備:
1. JDKをインストール、tomcatに、mysqlの(関係なく、Windowsシステム、またはLinuxシステムの、非常に素晴らしいコントロールパネル仏塔、可視化、優れたが、使用することをお勧めします!)
2.Springbootプロジェクトは、戦争のパッケージを戦うために、Tomcatの中に入れ
質問1:
最後にSpringbootプロジェクトがスタートしてTOMCAT埋め込まれた、または外部のでしょうか?
1は解決します:
私が読んでするつもりだ内蔵し、展開の概要Tomcatの外部スタートのtomcat:春ブーツをよ間違ったの束、私がいないことを報告し、記事、最初に埋め込まれたとのjarパッケージを打つ、入れLinuxシステムは、とにかく、私は生と死を開始することはできません私は明らかにjarファイルパッケージは問題ではありません
>それから出て開く - 戦争のパッケージを戦うために外部のTomcatの方法を使用するための決断は、この方法は良いが、私が使用依存です。
質問2:
Springbootまたは埋め込みTomcatをコメントアウトする必要がありますか?
2解決:
私が輝く開始し、外部Tomcatの開始のSpringBoot使用IDEAセットを、
外部のTomcatコンテナを使用する方法springboot、これらの記事を変更します。
1.まず変更ポンポンファイル:
<依存性> <のgroupId> org.springframework.boot </のgroupId> <たartifactId>ばねブートスタータウェブ</たartifactId> </依存> <依存性> <のgroupId> org.springframework.boot </のgroupId> <たartifactId >スプリングブートスタータTomcatの</たartifactId> <範囲> </スコープ>提供 </依存>
変更
<依存> <groupIdを> org.springframework.boot </ groupIdを> <たartifactId>春・ブート・スターター・ウェブ</たartifactId> <! -移除嵌入式Tomcatの插件- > <除外> <除外> <groupIdを> org.springframework.boot </のgroupId> <たartifactId>ばねブートスタータTomcatの</たartifactId> </除外> </除外> </依存> <依存性> <groupIdを>のjavax.servlet </のgroupId> <たartifactId>のjavax.servlet-API </たartifactId> <バージョン> 3.1.0 </バージョン> <範囲> </スコープ>提供 </依存>
javax.servlet-APIもそうでない場合はセッションが文句を言うだろう、追加する必要があります
2. [変更起動クラスのSpringboot
-
コンテナの展開外側は、その後、あなたは、main関数の応用に頼ることができないのではなく、Springアプリケーションコンテキストを開始するweb.xml構成ファイルと同様に、我々は、継承SpringBootServletInitializerののconfigureのクラスを起動し、メソッドを実装する必要があります。
@SpringBootApplication @ServletComponentScan @ComponentScan(basePackages = { "com.example.controller"、 "com.example.service"}) @MapperScan(basePackages = { "com.example.dao"}) publicクラスSpringbootdemoApplicationはSpringBootServletInitializer {延び @Overrideを 保護SpringApplicationBuilderの設定(SpringApplicationBuilderビルダー){ 戻りbuilder.sources(SpringbootdemoApplication.class)。 } パブリック静的無効メイン(文字列[] args){ SpringApplication.run(SpringbootdemoApplication.class、引数)。 } }
その後、私が見つけた、ハハハッハッハ、直接内部のTomcatをスローするように、戦争のパッケージを戦うために、それはもはやチューブで、何もないにも埋め込まれたTomcatのコメントはありません!
しかし、そのようなAのものがあることに注意してください!
質問3:
私は、プロジェクトがSpringbootの使用、Springboot組み込みのTomcat、そのローカルスタートへのアクセスであることにプロジェクト名を追加する必要が書いてないので
しかし、次のように外部のTomcatのスタートに、あなたがプロジェクトにアクセスしたいのかを知るために、プロジェクト名、Tomcatに追加する必要があり、解決策は以下のとおりです。
3解決:
<ホスト>タグでプロジェクト名を書き、<コンテキスト>タグを追加するにはTomcatのserver.xmlファイルの必要性インサイド
<ホストのappBase =オートデプロイ= "true"の名= "localhost"をunpackWARs = "true"を"のwebapps"> <コンテキストパス= ""文書ベース= "项目名"デバッグ= "0"リロード= ""真"CASESENSITIVE ="真/> </ホスト>
プロジェクト名の文書ベースを入力してください
質問4:
すでに他のPHPプロジェクトを持っており、80ポートのApache環境でのサーバが起動するので、私は、ドメイン名とポート番号を持つプロジェクトを開始するには非常に低くなりますが、ポートがされていれば、新しいTomcatの8080ポートを追加して80を占めていましたしかし、これを行う方法を、それを閉じることができませんか?
4解決:
1. nginxのは、達成することができ、欠点を:nginxのをインストールする前に、サーバーの他の項目があるだろう場合は、サイトを削除する必要があります、サイトの再確立をインストールし、私をからかっていない恐れ?
2. IISの下にサイトを設定しますか?このアプローチは、ちょうどこの上でこのHTMが、私は成功しませんでしたどこかわからない、私は長い時間のために試してみました、HTMLを記述することです。
3.最後に、まだこの方法を使用します。Apache Tomcatのと共通ポートを80
実際には、この方法は、表面の意味で、意味はリバースプロキシです。