Apache 阿帕奇公司;同一服务器上的Nginx导致与gitlab冲突

Apache 阿帕奇公司;同一服务器上的Nginx导致与gitlab冲突,apache,nginx,debian,virtualhost,gitlab,Apache,Nginx,Debian,Virtualhost,Gitlab,我试图在我的Web服务器上安装Gitlab。我对每件事都进行了适当的配置。这是我试图实现的计划: example.com:80(默认主机) vhost1.example.com:80(虚拟主机) example.com:8080(gitlab) 发生的情况是:我可以正常打开example.com和vhost1.example.com。如果gitlab ctl被停止,那么如果我试图打开example.com:8080(如预期的那样),就会出现“网站不可用”错误。当我启动gitlab并再次尝

我试图在我的Web服务器上安装Gitlab。我对每件事都进行了适当的配置。这是我试图实现的计划:

  • example.com:80(默认主机)
    • vhost1.example.com:80(虚拟主机)
  • example.com:8080(gitlab)
发生的情况是:我可以正常打开example.com和vhost1.example.com。如果gitlab ctl被停止,那么如果我试图打开example.com:8080(如预期的那样),就会出现“网站不可用”错误。当我启动gitlab并再次尝试打开example.com:8080时,它会显示gitlab错误“502 error gitlab花费了太多时间来响应”,但仅在我第一次加载此页面时,只要我刷新或在新选项卡中重试,它就会将我的请求始终重定向到example.com,尽管我在最后以“:8080”请求页面

我可以通过访问gitlab。这是可行的,但我必须进行配置

系统:

  • 德比安气喘
  • Apache/2.2.22
  • gitlab-ce_8.4.1-ce(包括nginx)
以下是我的配置文件:

/etc/apache2/sites available/example.com

<VirtualHost *:80>
    ServerAdmin mail@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    ErrorLog ${APACHE_LOG_DIR}/error_example.com.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin mail@example.com
    ServerName vhost1.example.com
    ServerAlias www.vhost1.example.com
    DocumentRoot /var/www/vhost1.example.com
    ErrorLog ${APACHE_LOG_DIR}/error_vhost1.example.com.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
            <Directory /var/www/vhost1.example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin mail@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    ErrorLog ${APACHE_LOG_DIR}/error_example.com.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin mail@example.com
    ServerName vhost1.example.com
    ServerAlias www.vhost1.example.com
    DocumentRoot /var/www/vhost1.example.com
    ErrorLog ${APACHE_LOG_DIR}/error_vhost1.example.com.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
            <Directory /var/www/vhost1.example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>
netstat-napl | grep:80

tcp        0      0 x.x.x.x:8080     0.0.0.0:*               LISTEN      19037/nginx     
tcp        0      0 x.x.x.x:80       0.0.0.0:*               LISTEN      18280/apache2   
tcp        0      0 127.0.0.1:8081   0.0.0.0:*               LISTEN      19110/config.ru 

我真的很感激每一个暗示。如果您需要更多信息,请询问。

经过一些修补,我找到了一个适合我的解决方案。如果有人有同样的问题,你可以:

Apache配置正确,因此配置保持原样

/etc/apache2/sites available/example.com

<VirtualHost *:80>
    ServerAdmin mail@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    ErrorLog ${APACHE_LOG_DIR}/error_example.com.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin mail@example.com
    ServerName vhost1.example.com
    ServerAlias www.vhost1.example.com
    DocumentRoot /var/www/vhost1.example.com
    ErrorLog ${APACHE_LOG_DIR}/error_vhost1.example.com.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
            <Directory /var/www/vhost1.example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin mail@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    ErrorLog ${APACHE_LOG_DIR}/error_example.com.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin mail@example.com
    ServerName vhost1.example.com
    ServerAlias www.vhost1.example.com
    DocumentRoot /var/www/vhost1.example.com
    ErrorLog ${APACHE_LOG_DIR}/error_vhost1.example.com.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
            <Directory /var/www/vhost1.example.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

如果您不打算在端口8080上运行Gitlab,则不必为unicorn分配新端口。更改后不要忘记运行“gitlab ctl重新配置”

考虑通过删除Apache并使用Nginx作为唯一的web服务器来简化情况。不幸的是,这是一个要求。不知怎的,我设法让它工作起来了。我将用我的解决方案为其他人更新答案。