У меня очень простая целевая страница для моего домена. Последние пару дней я боролся с очень своеобразной проблемой.
vanilla>
./files/
./index.html
./main_style.css
files>
./back.gif
./back1.gif
./logo.png
<!DOCTYPE html>
<html>
<head>
<title>Vanilla</title>
<link rel="stylesheet" type="text/css" href="main_style.css"/>
</head>
<body>
<div>
<img class="logo" src="files/logo.png" />
</div>
</body>
</html>
html {
background-image: url("files/back1.gif");
background-repeat: repeat;
}
img.logo {
width: 471px;
height: 384px;
position: absolute;
top: 50%;
left: 50%;
margin-left: -235px;
margin-top: -192px;
}
Сразу после перезагрузки или чего-то в этом роде, и я открываю веб-сайт, все статические файлы загружаются правильно, для версий, имеющихся на сервере.
Однако после этого, если я внесу изменение, например, в main_style.css, это никак не отразится. Даже открытие main_style.css в моем браузере не отражает изменений и показывает старую версию файла.
Также недавно я переименовал фотографию из test.png в logo.png и изменил ее соответствующим образом в index.html. Файл index.html отражает соответствующее изменение, однако он не видит фотографию «logo.png» и возвращает ошибку 404 ... Очевидно, он находится в корневом веб-каталоге, но не обслуживается. Даже в этом случае я все еще могу получить доступ к СТАРОЙ фотографии test.png по URL-адресу, даже несмотря на то, что такого файла нет на сервере.
Я понимаю, что эта проблема определенно связана каким-то образом с кешированием, и я пробовал много решений в Интернете при поиске , и ни один из них, похоже, не оказал никакого влияния на мою систему.
Я также вижу, что во многих случаях эта ситуация может быть вызвана VirtualBox или чем-то, называемым Vagrant VM. На моей машине никогда не работала ни одна из этих вещей, а мой сервер работает на физическом ПК под моим столом.
Я подумал, что проблема могла быть вызвана моим запуском более 100 обновлений, так как я давно не запускал свой сервер, поэтому я зашел так далеко, что сделал резервную копию моих личных данных и веб-данных с сервера. и переустановите операционную систему до последней версии, и переустановите программное обеспечение оттуда.
Я только что закончил это делать, //unix.stackexchange.com/questions/207063/apache-httpd-failing-to-start-on-boot-centos-7 Однако их совет:
systemctl enable NetworkManager-wait-online.service
Failed to execute operation: No such file or directory
Кажется, не работает.
Я совершенно потерялся.
Оказывается, вам нужно использовать NetworkManager, чтобы это работало, так как вы хотите дождаться, пока IP-адреса на самом деле станут доступны. NetworkManager не установлен по умолчанию в CentOs 7.
Итак:
# yum install NetworkManager
Включите его:
systemctl enable NetworkManager-wait-online
Затем:
# systemctl edit httpd.service
И добавьте:
After=network.target NetworkManager-wait-online.service remote-fs.target nss-lookup.target
На этом этапе HTTPD запустится только после того, как IP-адрес будет назначен интерфейсу и бинго, на самом деле он начало.