Я настраиваю сервер в Rackspace для переноса существующего веб-сайта, чтобы все работало до изменения записи DNS.
У меня не было проблем с тем, чтобы сервер работал с IP-адресом, используя настройки по умолчанию. Затем я скопировал исходный файл, доступный для сайтов, привязал к нему символическую ссылку в файлах с поддержкой сайтов и скопировал исходный index.html
в новую папку. Я установил доступный для сайтов корень в новую папку и сделал chown -R www-data:www-data
, chmod 775
в папке и chmod 664
в файле. После чего я перезапустил Nginx.
Когда я открываю IP-адрес сайта, я получаю 404 Not Found.
Вот доступные сайты:
server {
listen [::]:80 default_server;
root /var/www/example.com/public/;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
Linux - это когда-либо унизительный опыт. Кто-то из списка рассылки nginx любезно указал, что я должен проверить разрешения /var/www/
, и вот, я случайно ввел неправильный код, когда делал chmod
на /var/www/
. Теперь все работает исправно. Продолжаем миграцию ...
Проблема, которую я сразу вижу, заключается в том, что у вас есть косая черта в конце корневого параметра.
+ Изменить /var/www/example.com/public/
Изменить на: /var/www/example.com/public
Кроме того, если вам не повезло с приведенным выше кодом, попробуйте приведенный ниже код, это избавит от элемента localhost и жестко установит домен, который вы хотите использовать.
server {
listen 80;
server_name your-domain.com www.yourdomain.com;
root /var/www/example.com/public;
index index.html index.htm;
location / { }
error_page 404 /404x.html;
}