Это сложно, потому что это не имеет смысла. На этом же сервере у меня есть другие сайты, которые работают просто отлично. Файл конфигурации для каждого одинаков. Я создал этот новый сайт, example.com, и это конфигурация
server {
listen 80;
listen [::]:80;
server_name example.com;
access_log /var/log/nginx/example.com/access.log;
error_log /var/log/nginx/example.com/error.log;
root /var/www/example.com/default/web;
}
Я оставил минимум в этом файле. Я связал его, но когда я go к браузеру, я получаю 404 Not Found .
Итак, в root я создал файл 1.txt
, чтобы проверить его в браузере. Я все еще получил 404.
Я посмотрел в /var/log/nginx/example.com/access.log и /var/log/nginx/example.com/error.log и ничего не было. Затем я посмотрел общий журнал /var/log/nginx/access.log и получил следующее:
[21/Feb/2020:10:36:21 +0000] "GET /1.txt HTTP/1.1" 404 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0"
Итак, запрос поступает на сервер, но не достигает root?
Я убедился, что все разрешения для каталогов 775 и файлов 774, пользователей и групп указаны правильно. Я перезагрузил и также перезапустил nginx. У меня нет идей, я не знаю, что еще не так. Может кто-нибудь дать мне подсказку?
ОБНОВЛЕНИЕ: у меня есть ip сервера и сайта в моем файле hosts
, потому что у меня его еще нет в DNS. Когда я делаю example.com
, это 404. Когда я ищу https://example.com
, я вижу Warning: Potential Security Risk Ahead
. Я продолжаю, и затем я вижу один из моих других сайтов на сервере. Так что есть причина, по которой запрос направляется не на example.com, а на другой, хотя я вижу его, когда ищу nginx -T | grep server_name
.