Назад | Перейти на главную страницу

«Не удается подключиться к серверу» со 2-го виртуального хоста на VPS

Я использую Debian 7 Wheezy и Apache 2.2.22, и я настраиваю виртуальные хосты для ряда веб-сайтов на своем VPS. Я успешно настроил директивы VirtualHost для одного из сайтов, но второй постоянно выдает в Firefox «Страница проблем с загрузкой». Я бегал configtest и он подтвердил, что весь мой синтаксис верен, и я проверил все разрешения. Все во втором домене в значительной степени скопировано / вставлено из первого, поэтому я не уверен, в чем проблема, поскольку нет записей в /var/log/apache2/error.log кроме того, где я перезагрузил конфигурации:

/# cat /var/log/apache2/error.log
[Thu May 29 01:19:00 2014] [notice] Graceful restart requested, doing restart
[Thu May 29 01:19:00 2014] [info] Init: Seeding PRNG with 656 bytes of entropy
[Thu May 29 01:19:00 2014] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Thu May 29 01:19:00 2014] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Thu May 29 01:19:00 2014] [debug] ssl_scache_shmcb.c(253): shmcb_init allocated 512000 bytes of shared memory
[Thu May 29 01:19:00 2014] [debug] ssl_scache_shmcb.c(272): for 511920 bytes (512000 including header), recommending 32 subcaches, 133 indexes each
[Thu May 29 01:19:00 2014] [debug] ssl_scache_shmcb.c(306): shmcb_init_memory choices follow
[Thu May 29 01:19:00 2014] [debug] ssl_scache_shmcb.c(308): subcache_num = 32
[Thu May 29 01:19:00 2014] [debug] ssl_scache_shmcb.c(310): subcache_size = 15992
[Thu May 29 01:19:00 2014] [debug] ssl_scache_shmcb.c(312): subcache_data_offset = 3208
[Thu May 29 01:19:00 2014] [debug] ssl_scache_shmcb.c(314): subcache_data_size = 12784
[Thu May 29 01:19:00 2014] [debug] ssl_scache_shmcb.c(316): index_num = 133
[Thu May 29 01:19:00 2014] [info] Shared memory session cache initialised
[Thu May 29 01:19:00 2014] [info] Init: Initializing (virtual) servers for SSL
[Thu May 29 01:19:00 2014] [info] mod_ssl/2.2.22 compiled against Server: Apache/2.2.22, Library: OpenSSL/1.0.1e
[Thu May 29 01:19:00 2014] [notice] Apache/2.2.22 (Debian) PHP/5.4.4-14+deb7u9 mod_ssl/2.2.22 OpenSSL/1.0.1e mod_perl/2.0.7 Perl/v5.14.2 configured -- resuming normal operations
[Thu May 29 01:19:00 2014] [info] Server built: Mar  4 2013 22:05:16
[Thu May 29 01:19:00 2014] [debug] prefork.c(1023): AcceptMutex: sysvsem (default: sysvsem)

Я обеспечил включение каждого виртуального хоста с помощью a2ensite {sitename.conf} без ошибок и там.

Ниже представлено содержимое файлов конфигурации ...

/etc/apache2/apache2.conf

# Global configuration
#
LockFile ${APACHE_LOCK_DIR}/accept.lock
PidFile ${APACHE_PID_FILE}

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

##
## Server-Pool Size Regulation (MPM specific)
##

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadLimit: ThreadsPerChild can be changed to this maximum value during a
#              graceful restart. ThreadLimit can only be changed by stopping
#              and starting Apache.
# ThreadsPerChild: constant number of worker threads in each server process
# MaxClients: maximum number of simultaneous client connections
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

# event MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxClients: maximum number of simultaneous client connections
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_event_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy all
</Files>


DefaultType None

HostnameLookups Off

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel debug

# Include module configuration:
Include mods-enabled/*.load
Include mods-enabled/*.conf

# Include list of ports to listen on and which to use for name based vhosts
Include ports.conf

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

<Directory "/var/www">
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

# Include generic snippets of statements
Include conf.d/

# Include the virtual host configurations:
Include sites-enabled/*.conf
NameVirtualHost *:80

/etc/apache2/sites-available/site1.net.conf

<VirtualHost *:80>
    ServerName site1.net
    ServerAlias site1.net *.site1.net
    DocumentRoot "/var/www/site1"
    ErrorLog "/var/www/site1/logs/error.log"
    CustomLog "/var/www/site1/logs/access.log" vhost_combined
    <Directory "/var/www/site1">
        Options None
        AllowOverride All
        Order allow,deny
        Allow from all
        Satisfy Any
    </Directory>
</VirtualHost>

/etc/apache2/sites-available/site2.com.conf

<VirtualHost *:80>
    ServerName site2.com
    ServerAlias site2.com *.site2.com
    DocumentRoot "/var/www/site2"
    ErrorLog "/var/www/site2/logs/error.log"
    CustomLog "/var/www/site2/logs/access.log" vhost_combined
    <Directory "/var/www/site2">
        Options None
        AllowOverride All
        Order allow,deny
        Allow from all
        Satisfy Any
    </Directory>
</VirtualHost>

Я также пробовал установить NameVirtualHost, например:

Listen 80
NameVirtualHost 23.88.121.82:80
NameVirtualHost 127.0.0.1:80

и директивы VirtualHost:

<VirtualHost 23.88.121.82:80>
...
</VirtualHost>

для обоих сайтов, но это также приводит к сбою первого сайта.

Мне интересно, нужно ли мне настраивать отдельные IP-адреса для каждого сайта, возможно? У меня есть еще 2 адреса IPv4 и 3 адреса IPv6, если это будет иметь значение. Кроме того, по большому счету, мне нужно будет включить SSL для первого сайта. Я читал, что мне нужно просто имитировать директивы для прослушивания порта 80, только на порту 443, и убедиться, что mod_ssl включен?

РЕДАКТИРОВАТЬ: Я только что сбежал apache2 -t чтобы таким образом протестировать файлы конфигурации и получить ошибку: apache2: bad user name ${APACHE_RUN_USER}. Тем не мение, apachectl configtest возвращается Syntax OK. Однако нигде больше нет упоминаний об ошибках с мьютексом. Я был почти уверен, что если бы произошла ошибка с пользователем, под которым должен был работать apache, сервер вообще не запустился бы ...

РЕДАКТИРОВАТЬ 2: Перезапуск apache исправил ошибку неверного имени пользователя.

Оказывается, возникла проблема с настройками DNS, и вся конфигурация Apache верна. : /