데비안 8 Nginx HTTP2 + ALPN

0

От както google започнаха да обичат https сайтовете, повече се налага масова инсталация на SSL-и където може. Като цяло освен повече тормоз за сървърите имаме и деградация в скоростта. Хубавото е, че HTTP2 стандарта вече над година и половина се интегрира във всички големи http сървъри и браузъри и поддръжката му достатъчно стабилна. За съжаление debian stable няма пакети които да поддържат HTTP2 в основните http сървъри. Версиите които са ни необходими за да работи HTTP2 са както следва:

  • Apache > 2.4.17
  • Nginx > 1.9.5
  • останалите персонално не ме вълнуват (lighttpd имат евентуално планирано…..)

При мен мешаницата е голяма и според зависи се ползва apache или nginx. Все още не съм си играл да пускам на apache http2 на debian 8 тъй като не ми се е налагало но в backports репото го има така, че няма да е голям проблем. За nginx е вече го играхме няколко пъти. Като цяло стъпките са няколко и относително прости:

  1. Добавяме nginx официалното репов debian весията е 1.6.х 🙄
  2. Инсталираме си openssl от backports към момента е 1.0.2ктова ни трябва за ALPN подръжката за да може всичко да работи и да е бързичко
  3. инсталираме си devscriptsтук е момента да споделя че ще си билднем наш пакет защото официалният е компилиран с openssl 1.0.1t при който не работи ALPN и браузърите не му реагират добре и работи http2-то само ако го форсираш
  4. инкрементираме версията за да не правим hold циганията с пакетите а като има нова версия само да синкенм сорсовете

Нека да започнем стъпка по стъпка

Добавяне на nginx repo

deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx

Добавяне на openssl 1.0.2k и dev библиотеката в противен случай ще си го билднем пак с 1.0.1t което не ни е целта


echo 'deb http://ftp.debian.org/debian jessie-backports main' | tee /etc/apt/sources.list.d/backports.list

apt update && apt install libssl-dev -t jessie-backports

 

Сега остана да си добавим библиотеките необходими за компилацията на nginx


apt install devscripts

apt build-dep nginx

mkdir nginx-build

cd nginx-build

apt-get source nginx

Ако сте работили коректно трябва да имате структура от рода на


~/nginx-build # ll
total 1004
drwxr-xr-x 10 root root   4096 Feb 21 18:37 nginx-1.10.3
-rw-r--r--  1 root root 103508 Jan 31 17:59 nginx_1.10.3-1~jessie.debian.tar.xz
-rw-r--r--  1 root root   1495 Jan 31 17:59 nginx_1.10.3-1~jessie.dsc
-rw-r--r--  1 root root 911509 Jan 31 17:59 nginx_1.10.3.orig.tar.gz

Влизате в папта в която е разархивиран сорса на nginx в моят случай е и nginx-1.10.3 изпълнявате команда с която инкрементирате версията, аз лично предпочитам да добавя 1 към настоящият билд

debchange --newversion 1.10.3-1

След като си добавите changelog-а по избор може да се пристъпи към същинската компилация

debuild -us -uc -i -I -b -j6

Малко разяснение по конфигурацията на командата:

-us -uc казват на скрипта да неподписва” .dsc и .changes файловете. -i-I карат скрипта да игнорира файловете за контрол на версия. -B да се генерира само бинарен пакет. -j както при make с колко паралелни процеса да се компилира 🙂

 

След като приключи горният процес следва да си инсталираме нашите нови пакети. Ако имате вече инсталиран nginx е добре да го деинсталирате

apt remove nginx nginx-*

Също не лоша идея е да си направите бекъп на nginx папката в /etc. По принцип при ъпгрейд от 1.6.5 към 1.10.3 нямах драми но никога не се знае. Новите пактеи се намират в папката от по горно ниво и следва да се инсталират с команда от рода на:

dpkg -i ../*.deb

Ако всичко е минало гладко ви остава само да си пуснете nginx процеса и да си се конфигурира http2 което вече не е цел на тази статия.

0

Раздялата не е във думите,
раздялата е в премълчаното,
в страха, че нещо ще изгубиш,
в страха, че вече нищо нямаш.
Раздялата не е във времето,
в което тръгваш ти сама,
в което сбогом ти си вземаш,
раздялата е след това

Firefox databases VACUUM and REINDEX

0

진공의 SQLite는 같은 파이어 폭스 브라우저의 속도를 향상시키는 하나의 영리 트릭 자신의 데이터를 기초. 그녀는 따라서 조각 모음으로 VACUUM 프로세스는 데이터베이스를 삭제합니다, 크기 감소와 수요가 빠르게한다, 섹터 날의 순서로 읽을 때 디스크 사용량은보다 효율적이고 아마도 디스크에 부하를 감소. 일반적으로이 자동으로 / 조각 모음 자신을 진공 청소기로 청소하지 않는 데이터베이스에 적용.

데이터베이스 파이어 폭스를 조각 모음하는 프로세스는 매우 간단하다 – 수행 sqlite3를 DB를 파일의 VACUUM 파이어 폭스의 프로파일 디렉토리. 리눅스에의 길 ~ / .mozilla / 파이어 폭스 / 랜덤 name.default 일반적으로. 일반적으로, 당신이해야 만 1 브라우저의 전자 프로파일에 대한 .mozilla에 dirketoriâ / 파이어 폭스 더 확인할 수있는 경우 ~ / .mozilla / 파이어 폭스 / profiles.ini korektnata 디렉토리. Тъй като не ми се занимава да извършвам процеса на ръка разписах елементарен скрипт с който да дефрагментирам базите данни:

for db in $(find ~/.mozilla/firefox/$(grep Path ~/.mozilla/firefox/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
   echo "VACUUM ${db}"
   sqlite3 ${db} VACUUM
   sqlite3 ${db} REINDEX
done

След изпълняване на скрипта търсенето в history-то и самото зареждане на лисика е чувствително по бързо. Скрипта предполагам че с малки модификации може да се ползва и в Mac OS.

p.s Ето варианта и за Mac OS Xтестван на Mac OS X Sierra. Налага се да форсираме делимитъра да е нов ред заради space в пътя до папката в която се съдържа профила на firefox

OIFS="$IFS"
IFS=$'\n'
for db in $(find ~/Library/Application\ Support/Firefox/$(grep Path ~/Library/Application\ Support/Firefox/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

Размисли покрай 25 годишни Linux

0

며칠 전 그들은 축하 25 년 리눅스. 때마다 읽고 리누스의 편지 이러한 매우 즐거운 분위기에 빠지다. 나는 설명 할 의도가 어떻게 어떤 역할이 우리의 삶에서 활약 중요한 리눅스와. 오히려, 나는 내 인생에서 재생 어떤 역할을 생각. 그리고 많은 질문을 뛰어

  • 어떤 리눅스 나는 BSD되지할지 여부 또는 하나님은 윈도우 관리자를 금지하는 경우 ?
  • 나는 일반 관리자 것 여부
  • 내가 관리자가 있다면 무엇을 작동합니다 – 프로그래머 (저를 유지했다….)
  • 어떤 OS 내가 사용
  • Каква техника щях да използвамтелефон компютърсигурно щях да съм поредният apple fan boy

데비안 깨진 패키지 목록

0

내 노트북의 디스크에 작은 드라마를 경험. 의 문제 해결 후 프로세스의 최종 정련 즐거운되지 종료 후 업데이트 경향을-얻을

E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/debian.ipacct.com_debian_dists_sid_contrib_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.

일반적인 문제로서 매우 명백 /var/lib/apt/lists/debian.ipacct.com_debian_dists_sid_contrib_binary-i386 올바르게 판독 할 수없는. 수정은 문제의 매우 진단만큼이나 간단합니다:

 rf -f /var/lib/apt/lists/*

궁극적으로 결과가 강제로 동기화 및 아파트.

맨 위로 이동