0

我通常不使用 Java 应用程序,但我正在尝试设置和配置基于Java 的开源 wiki。我通过在 Ubuntu 上使用 APT 安装来启动并运行它。它的默认网址是localhost:8080/xwiki. 我想配置 tomcat 或 catalina 或其他任何东西,以便它在端口 80 和域根目录上可用。我将其设置为子域:wiki.example.com

如何在 Tomcat 中进行配置?

4

5 回答 5

2

1)进入tomcat安装目录下的conf文件夹

例如 C:\Tomcat 6.0\conf\

2) 在 server.xml 文件中编辑以下标签

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

3)将port=8080的值改为port=80

4) 保存文件。

于 2013-02-20T01:11:22.610 回答
1

请注意,在特权端口(小于 1024)上运行进程的唯一方法需要以 root 身份运行进程。

从安全的角度来看,这很糟糕,一个可接受的替代方法是使用 iptables 将发往端口 80 的请求转发到您的应用程序服务器端口。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

这将通过以 root 身份运行您的服务器来减轻任何主要的安全威胁,并且仍然允许您的进程在标准端口 80 上工作。

还要回答关于让您的应用程序运行而不在 url 中指定应用程序名称的问题,请查看: http ://benhutchison.wordpress.com/2008/07/30/how-to-configure-tomcat-root-context /

于 2013-02-20T01:15:18.840 回答
1

基于许多建议,我决定不尝试使用 tomcat 为端口 80 上的应用程序提供服务。相反,我将 Apache 设置为反向代理,并将 tomcat 保留为默认设置。这是我在 Ubuntu 上配置 Apache 所做的:

  1. 安装阿帕奇:sudo apt-get install apache2-mpm-prefork
  2. 启用代理 apache 模块:sudo a2enmod proxy_http
  3. 在 /etc/apache2/sites-available 中创建一个虚拟主机文件,内容如下:

    <VirtualHost *:80>
      ServerName wiki.yourdomain.com
    
      RedirectMatch permanent ^/$ http://wiki.yourdomain.com/xwiki/
    
      ProxyPass /xwiki http://localhost:8080/xwiki
      ProxyPassReverse /xwiki http://localhost:8080/xwiki
    
      DocumentRoot /var/www
      <Directory "/var/www/">
        Options -Indexes Includes FollowSymLinks
        AllowOverride All
        Allow from all
      </Directory>
    </VirtualHost>
    
  4. 重启阿帕奇:sudo service apache2 restart

于 2013-02-20T19:07:11.727 回答
0

我会使用mod_vhost,描述在这里

于 2013-02-20T01:26:43.037 回答
0

查看 server.xml 并编辑您的配置设置,如端口号、根目录等。

于 2013-02-20T01:08:29.383 回答