Здравейте и добре дошли в #root.bg!
Тук може да намерите статии и уроци за linux, мрежи и тяхната защита, игри и забавление, както и хобита – ролери, дронове и много други.
Тук може да намерите статии и уроци за linux, мрежи и тяхната защита, игри и забавление, както и хобита – ролери, дронове и много други.
Николай Николов Работа brotli, cloudflare, nginx, php 7, php 7.1, php7, wordpress 4
Привет,
Днес успешно мигрирах root.bg към php 7.1 и добавих поддръжката на протокола за копресиране на google – brotli.
Резултата от двете гореспоменати операции – още по-бърз и оптимизиран root.bg! Welcome php 7.1 and brotli!
Ето и стъпките за инсталиране и конфигуриране на php 7.1 и brotli :
Архитектурата на уеб сървъра ми е 64 битова а за операционна система ползвам debian 8. За целта добавих репото на Ondřej Surý който вече поддържа и пакети за debian 8.
Схемата е следната :
apt-get install apt-transport-https lsb-release ca-certificates wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list apt-get update apt-get install php7.1
След това е нужно да се конфигурира php7.1-fpm
с настройките които досега използвах в php7.0-fpm
. Резултата след това е :
До колкото четох, задължителна част от това wordpress-а ни да работи, е той да е обновен до последната стабилна версия : 4.7
Накратко какво е brotli :
Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression.
Благодарение на cloudflare, вече има и brotli модул за nginx! Инсталацията му е супер елементарна, като за нея е нужно nginx-а ни да е компилиран ръчно, а не да е инсталиран чрез apt
пакетния мениджър.
cd /usr/src/ git clone https://github.com/cloudflare/ngx_brotli_module.git cd ngx_brotli_module git clone https://github.com/google/brotli.git
После се пуска конфигуриране на nginx : ./configure
с
--add-module=/usr/src/ngx_brotli_module-master/
След успешното компилиране, последното което трябва да се направи, е добавянето на следните редове в /etc/nginx/nginx.conf
:
brotli on; brotli_min_length 1000; brotli_comp_level 5; brotli_types text/plain text/css text/xml application/javascript application/x-javascript application/xml application/xml+rss application/ecmascript application/json image/svg+xml;
Резултата е следния:
Тест-а е направен от https://tools.keycdn.com/brotli-test
Това е!
Николай Николов Howto exim, postfix, whm 0
Наскоро на един от WHM сървърите ми, се наложи да се занимавам с freeze-нати писма от мейл сървъра exim.
За разлика от postfix, където няма схема „freeze“, а самите писма от опашката се изпращат супер лесно :
postqueue -f
при exim нещата са доста по-сложни.
Поради тази причина и пиша този пост за да споделя как се прави това.
Какви писма има в опашката на exim се проверява така :
exim -bp
А чрез използването на while се пише следния ред, които unfreeze-ва тези писмa :
exim -bp | grep -i frozen | awk '{print $3}' | while read LINE; do exim -Mt $LINE; done
Опитва да изпрати писмо с определено ID:
/usr/sbin/exim -M email-id
Принудително пуска още една опашка да върви:
/usr/sbin/exim -qf
Виждаме лога на писмото:
/usr/sbin/exim -Mvl messageID
Виждаме тялото (body) на писмото:
/usr/sbin/exim -Mvb messageID
Виждаме началото (header) на писмото:
/usr/sbin/exim -Mvh messageID
Изтрива писмото без да изпраща никакви съобщения за грешки:
/usr/sbin/exim -Mrm messageID
Показва броя на писмата в опашката:
/usr/sbin/exim -bpr | grep "<" | wc -l
Показва броя на freeze-натите писма в опашката:
/usr/sbin/exim -bpr | grep frozen | wc -l
Изтрива всички frozen писма:
/usr/sbin/exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm
Изтрива цялата опашка на exim-а:
/usr/sbin/exim -qff
Повече информация може да се намери в документацията на exim.
Николай Николов Howto last, linux, wtmp 0
Привет,
Днес случайно попаднах на един сървър на който командата last не му работеше.
Грешката беше следната :
last: /var/log/wtmp: No such file or directory Perhaps this file was removed by the operator to prevent logging last info.
Вероятната причината за проблема е изтрит лог файл /var/log/wtmp
.
Този проблем се решава по следният начин :
touch /var/log/wtmp chown root:utmp /var/log/wtmp chmod 0664 /var/log/wtmp
Това е – вече командата last ще връща отговор :
dev:~# last -10 root pts/0 192.168.188.147 Fri Nov 4 15:28 still logged in
Николай Николов Howto proxmox, softdog, watchdog 0
Привет,
В този пост ще споделя как бързо и лесно се пуска proxmox software watchdog.
Идеята е следната : имаме 4 сървъра обединени в proxmox cluster. Два от тях имат hardware watchdog модул, но другите два нямат.
За да работи HA при тях е необходим watchdog.
За да се активира proxmox software watchdog е нужно да направим следното :
1. Активира се softdog модула :
echo "softdog" >> /etc/modules
2. Чрез uname -r
можем да видим с коя версия на линукс ядрото сме, и да редактираме следния файл :
vim /lib/modprobe.d/blacklist_pve-kernel-4.4.21-1-pve.conf
– в моят случай е версия 4.4.21-1-pve и трябва да закоментираме реда : blacklist softdog
#blacklist softdog
3. Рестартираме сървъра и проверяваме дали работи softdog модула чрез:
pluto:~# lsmod |grep softdog softdog 16384 1
и последно дали работи watchdog-mux сървиса :
pluto:~# systemctl status watchdog-mux.service ● watchdog-mux.service - Proxmox VE watchdog multiplexer Loaded: loaded (/lib/systemd/system/watchdog-mux.service; static) Active: active (running) since Tue 2016-11-01 23:11:59 EET; 2 days ago Main PID: 1167 (watchdog-mux) CGroup: /system.slice/watchdog-mux.service └─1167 /usr/sbin/watchdog-mux Nov 01 23:11:59 pluto watchdog-mux[1167]: Watchdog driver 'Software Watchdog', version 0 Nov 04 10:14:25 pluto systemd[1]: Started Proxmox VE watchdog multiplexer.
Това е!