我将我的应用程序托管到Tomcat服务器并配置了server.xml,以便我可以通过直接访问网站名称来访问我的Web应用程序,例如:www.example.com但是只有当它后跟我的端口号时才能工作:www.example.com:8080,我使用godaddy作为VPS。
这是我用过的配置
<Host name="example.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>www.example.com</Alias>
<Context path="" docBase="Prototype" debug="0" privileged="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" resolveHosts="false"/></host>
答案 0 :(得分:0)
但只有在我的端口号后面才有效,例如:www.example.com:8080
通过&#39;工作&#39; ,你的意思是Tomcat从你在配置中提到的任何端口开始,但网站只能通过8080访问吗?
如果不确定,请参阅<tomcat_dir>/logs/catalina.out
文件以查看启动日志,
因此,您的VPS可能已经在端口80上运行了任何其他应用程序,通常是httpd或NGINX,在某些情况下,您需要停止应用程序并在配置中使用端口80启动tomcat。
如何检查在特定端口上运行的应用
netstat -apn|grep <port_number>
或
ss -apn|grep <port_number>
如果没有应用程序在端口80上运行,或者您在配置和tomcat成功启动时提到的任何其他端口,仍然无法通过外部访问您的应用程序,那么很可能是它的网络访问问题,
为此你需要允许INGRESS访问本地IP表或Godaddy VPS配置面板中所需的端口,无论哪种情况。
您提到的问题看起来更像是一个Linux管理员问题。 请分享更多细节,我将指导您获得精确的解决方案
一切顺利。
答案 1 :(得分:0)
您可以提供有关您的VPS的更多信息。在这里,我假设您拥有一个具有root访问权限的完整VPS,您可以控制所有网络访问。 Apache Tomcat默认在端口8080上运行。实际上,您有两个选项
玩得开心