Как загнать весь сайт в кэш на сервере
Для того чтобы все страницы сайта попали в «кэш», нужно сэмулировать их открытие. Например командой wget:
1 |
wget -m -np -nv -R jpg,jpeg,gif,png,tif --spider -l 10 https://centrtrikolor.ru |
Жизнь замечательных грибов
Здесь собраны статьи, наработки, исправление ошибок и решение проблем связанных с разработкой для WEB
Для того чтобы все страницы сайта попали в «кэш», нужно сэмулировать их открытие. Например командой wget:
1 |
wget -m -np -nv -R jpg,jpeg,gif,png,tif --spider -l 10 https://centrtrikolor.ru |
Каждый аз гуглю, когда нужно. Решил таки уж у себя сохранить 😉
1 2 3 4 5 6 7 |
body { background-image: url("../images/fone.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center; height: 100%; } |
На одном из серверов пробую ускорить сайт на drupal + модуль Commerce. Mysql уже потюнил. Memcached установлен. Закешировано почти всё что можно. Но! тормозит.. Как жест отчаянья, попробую еще и через nginx пустить статику. Вдруг хоть чуток но полегчает..
1. В httpd.conf меням порт Listen с 80 на 8080. Тоже самое меняем в вирутальных хостах <VirtualHost *:8080>
2. Ставим nginx, ставим в автостарт
pkg install nginx
sysrc nginx_enable=yes
3. Правим файл конфигурации nginx (/usr/local/etc/nginx/nginx.conf)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
server { listen 80; server_name www.domen.ru; #charset koi8-r; #access_log logs/host.access.log main; #вот это динамика, пусть её занимается апач location / { proxy_pass http://domen:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_connect_timeout 120; proxy_send_timeout 120; proxy_read_timeout 180; } # Вот это считаем статикой location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ { root /usr/local/www/apache24/sites/centrtricolor; } ... |
1 2 |
/usr/local/etc/rc.d/apache2 restart /usr/local/etc/rc.d/ngnix restart |
1 2 |
pkg install apache24 sysrc apache24_enable=yes |
Правим /usr/local/etc/apache24/httpd.conf, устанавливая ServerName и ServerAdmin. Далее можно запускать:
1 |
service apache24 start |
1 2 3 4 |
pkg install mysql81-server sysrc mysql_enable=yes service mysql-server start mysql_secure_installation |
для того чтобы работало старое ПО (новая схема аутенфикации), можно выставить режим совместимости:
1 |
mcedit /usr/local/etc/mysql/my.cnf |
1 2 3 4 |
<code>[mysqld] ... default_authentication_plugin = mysql_native_password ...</code> |
1 |
/usr/local/etc/rc.d/mysql-server restart |
1 2 3 |
pkg install memcached_enable sysrc memcached_enable=yes service memcached start |
1 |
pkg install php73-bcmath php73-tokenizer php73-memcache php73-pdo php73-pdo_mysql mod_php73 php73-hash php73-mysqli php73-zip php73-openssl php73-mbstring php73-mysqli php73-json php73-iconv php73-gd php73-curl php73-dom php73-curl |
В /usr/local/etc/apache24/httpd.conf добавим:
1 2 3 4 5 6 |
<FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> |
1 |
/usr/local/etc/rc.d/apache24 restart |
На днях произошел странный глюк с плагином jqContextMenu, а именно, после нажатия на правую кнопку мыши контекстное меню появлялось, но пропадало после отпускания клавиши. Проявилось только в браузере FireFox и только у меня. На что уж только не грешил, делал откат кода назад на пару недель, думал сам где какую ошибку внес. Затем сходил на сайт Причем специально сходил на www.guriddo.net, где собственно размещена демка от «создателей» — опаньки, и там тоже самое. Значит проблема в браузере. Пробовал отключать плагины, чистить кэшь и т.д. — ничего не помогло. Пришлось засучить рукава и лезть в исходный код плагина context-menu.js, и ставить «костыль». А именно, заменил эвент «клик» на эвент «нажатие» (не отпускание) на скрытие «предыдущего» меню. Что за глюк браузера и почему вдруг «сломалось» — пока загадка.