#nginx #centos #web-deployment #centos7 #vhosts
#nginx #centos #веб-развертывание #centos7 #vhosts
Вопрос:
DNS моего регистратора домена попадает на мой сервер и получает страницу nginx по умолчанию, так что она настроена правильно
Я скопировал виртуальный хост nginx, который в настоящее время работает, изменил server_name
и имя файла conf и больше ничего.
Разница:
diff 701sm.club.conf drz400.info.conf
3c3
< server_name www.701sm.club 701sm.club;
---
> server_name www.drz400.info drz400.info;
затем я перезапустил nginx.
Вот весь неработоспособный vhost:
server {
listen 80;
server_name www.701sm.club 701sm.club;
index index.php index.html index.htm;
access_log /var/www/drz400.info/logs/access.log;
error_log /var/www/drz400.info/logs/error.log;
location / {
root /var/www/drz400.info/production;
}
location ~ .php$ {
root /var/www/drz400.info/production;
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Оба сайта должны попасть в мой .../production/index.html
, но только один. Что здесь может быть не так?
Комментарии:
1. Оба сайта должны попасть в мой …/production/index.html , для какого URL-адреса и почему тогда присутствует местоположение php (вы можете удалить его, если он не нужен)?
2. URL-адрес DRZ. PHP присутствует, потому что я собираюсь запустить mediawiki.
3. правильно ли работают ваши URL-адреса php?
4. попадает только один index.html , тогда что делает другой? и я вижу выше, что для каталога drz400 имя сервера равно 701sm этому.
5. блок drz400 попадает в мой index.html как и предполагалось. Я скопировал и вставил блок в качестве основы для нового сайта — 701sm — и только изменил строку имени сервера, чтобы проверить, правильно ли он направлен. Вместо этого, когда вы переходите к 701sm.club, он попадает в мой nginx по умолчанию index.html , например, соединение не перенаправляется повторно в другой корневой каталог.
Ответ №1:
Пожалуйста, попробуйте следующий код,
server {
listen 80;
server_name www.701sm.club 701sm.club;
index index.php index.html index.htm;
access_log /var/www/drz400.info/logs/access.log;
error_log /var/www/drz400.info/logs/error.log;
root /var/www/drz400.info/production;
location / {
try_files $uri /index.html;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Комментарии:
1. Это не решило мою проблему. Я не верю, что проблема больше не существует в серверном блоке, я думаю, это должна быть более серьезная проблема с конфигурацией, поскольку один из этих сайтов работает, а другой — нет с идентичными серверными блоками.
Ответ №2:
Просто заинтересовался вашей директивой log, вы указываете журнал в /var/www/drz400.info/logs/error.log, пока ваш домен был www.701sm.club . Если вы получите доступ www.701sm.club , есть ли какая-либо ошибка в вашем error.log?
И какой тип ошибки произошел?