2017-08-05 17 views
1

をホスティングは7のためのものであると私はまず80/8080のTomcat 8.5.16を削除するにTomcat 8.5ポートで実行する方法、CentOSのインストール7minimal、この質問にTomcat 8.5他の回答に固有のものである24

を説明するように動作しません。 Tomcatのドキュメントやオンラインの質問を20時間も勉強しています。私は、プロセスを学び、複数のスプリングブートWebアプリケーションを実行するためのサーバーを稼動させるために書かれた明確なガイドを取得するために、スクラッチから約10回サーバーを構築しました。

私は現時点ではポート80で実行するようにTomcatを取得できませんので、ドメイン名の最後に「8080」はありません。それはポート8080上で動作します。

enterProto Recv-Q Send-Q Local Address   Foreign Address   
State  PID/Program name 
tcp  0  0 0.0.0.0:3306   0.0.0.0:*    
LISTEN  449/mysqld 
tcp  0  0 0.0.0.0:111    0.0.0.0:*    
LISTEN  1/init 
tcp  0  0 0.0.0.0:22    0.0.0.0:*    
LISTEN  143/sshd 
tcp6  0  0 :::8001     :::*      
LISTEN  139/httpd 
tcp6  0  0 127.0.0.1:8005   :::*      
LISTEN  281/java 
tcp6  0  0 :::8009     :::*      
LISTEN  281/java 
tcp6  0  0 :::21     :::*      
LISTEN  147/vsftpd 
tcp6  0  0 :::22     :::*      
LISTEN 

ポート80 systemctlステータスtomcat.serviceを使っだから、何も=

ファイアウォール-CMD --list-すべて 公共を実行している:

"netstatコマンド-lnpグレップ80" は私にこのことを示してい(アクティブ) ターゲット:デフォルト ICMPブロック反転:なし インターフェイス:venet0 源: サービス:DHCPv6のクライアントSSH ポート:8001 TCP/80/TCP 20 TCP/ のプロトコル: マスカレード:なし フォワードポート: SourcePortsに: ICMPブロック: 豊富なルール:パブリックゾーンに

ポートオープン。

私は、現時点ではしようとしている方法は、ここでのTomcat/confに/ server.xmlで

をポートを変更することですが、私はそれを変更したところです。

{<Connector port="80" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" /> 
} 

nmapのとオンラインツールはポートが閉じていると言いますが、ポートを使用するものがないために私はそれを信じています。私が読んだことは確かに分かりません。

iptablesのルールもないため、他のポートブロックは存在しません。

Webページは、私は、サーバーのセットアップを研究20固体の時間を費やしてきたし、今でも本当に、なぜ確認する方法に関して、困惑していて任意の助けをいただければ幸いです

「をこのサイトに到達することはできません」のショーを表示これは動作しませんが、なぜポート8080で動作しますか。

私はtomcatを通じて複数のWebアプリケーションを実行しようとしています。私は、ポート8080上では成功したが、上記の結果と同じ結果ではないserver.xmlの下にホストの詳細を追加する予定です。

これは以前の質問と同様の質問ですが、回答がうまくいかず、私はそれらをすべて試しました。

+0

ポート80でtomcatを実行せず、代わりにApacheまたはNginxのようなリバースプロキシを使用することを強く推奨します。このタイプの配備では、逆プロキシが非常に一般的です。https://www.nginx.com/resources/admin-guide/reverse-proxy/ – spuder

+0

[Tomcat Webapp on port 80]の複製が可能です(https://stackoverflow.com/質問/ 16326707/tomcat-webapp-on-port-80) – spuder

+0

他のオプションが機能していないので重複していません。私が必要としないときにApacheを実行するのはなぜですか?私は読んだことは、それは単に風袋を実行する方法がありますか?これは私がやろうとしていることです。私はセキュリティを維持しながら最小限の負荷で大規模なビジネスアプリケーションを実行するためのリソースを節約したいと思います。私は研究からのhttpdがより良い性能であるので、nginxから始めるつもりはない。私が成功しなくても20以上のチュートリアルを試したように答えを出してください。 – danbdex

答えて

1

tomcatが80のような特権ポートを使用するようにするには、LinuxでAUTHBINDを有効にする必要があります。AUTHBIND=yes/etc/default/tomcat8に設定してください。

別の解決策は、デフォルトポート(80)を使用して、この方法ではiptablesでポート8080にポート80からのすべての要求をリダイレクトする、次のようになります。

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT 
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 
+0

/etc/default /にtomcat8ファイルはありません?私はnssとuseraddファイルを持っています – danbdex

+0

このガイドを見てください:https://blog.webhosting.net/how-to-get-tomcat-running-on-centos-7-2-using-privileged-ports-1024/ – aleroot

+0

ありがとう、それは私がまだ試していないものとして有望に見えるが、今すぐに仕事に行く必要があるので、私は戻ってすぐに試してみるだろう。どうすればいいのか教えてあげます:) – danbdex

0

Centos7最小インストールSELinuxはあなたのようになっていること高架シェルで次のコマンドを実行する必要があります:

setsebool httpd_can_network_connect true -P 
関連する問題