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

Как обслуживать Nginx, используя только IP-адрес сервера Rackspace?

Я настраиваю сервер в 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;
}