タグ付きの投稿 リナックス

Debianの 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 което вече не е цел на тази статия.

FirefoxはVACUUMとREINDEXをデータベース

0

掃除のsqliteのようなFirefoxブラウザの速度を改善するための1つの巧妙なトリックは、彼のデータをベース. 彼女は、このようにデフラグなどの真空プロセスでは、データベースを削除します, サイズを減少し、需要はより速くそれを作ります, ディスクの使用状況をより効率的かつおそらくセクター私の順番に読んで、あなたのディスク上の負荷を減少. 一般に、これは自動的に/デフラグを自分で掃除しない任意のデータベースに適用されます.

データベースのFirefoxを最適化することにより、プロセスは非常に簡単です – 実行します sqlite3のDB-ファイルVACUUM Firefoxののプロファイルディレクトリ. Linuxでは、それへの道は、通常、〜/は.mozilla / firefoxの/ランダムname.defaultです. 一般的に、あなたがすべきのみ 1 .mozilla / firefoxの中dirketoriâブラウザの電子プロファイルに〜/は.mozilla / firefoxの/ 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

でスクリプト需要実行した後の歴史を、それ自体ロードlisikaが大幅に高速化されます. 私は推測する軽微な修正を加えたスクリプトは、Mac OSで使用することができます.

p.sЕтовариантаизаのMac OS X – Mac OS Xのシエラ上でテスト. 私たちは、Firefoxのプロファイルが含まれているフォルダへのパスにスペースのための新しい行があるdelimitaraをスピードアップする必要があります

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

Debianの壊れたパッケージ一覧

0

私は私のラップトップ上のディスクではほとんどドラマを経験しました. 後工程の最終洗掘快適ではない終了後にapt-getの更新の問題を修正

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/*

最終的に結果が強制され、同期され、apt.

Geanyより良いのpythonのIDE

0

私の好きなテキストエディタ Geany. それは非常にミニマルです HERE それは言語の巨大な範囲をサポートしています – シェル, PHP, パイソン, C言語 … 等. 地獄がアジャイルである一方でオートコンプリートがあります. これは、可能な限り時折心地よいを欠いているが、私にとっては、現時点では十分以上のものです. 私はもちろん、オンラインで開始しました Pythonのプログラミング наSoftUni – 彼らの知識をリフレッシュして、私のpythonと何が起こるか、十分な後じゃないので、アップグレードします 3. 推奨コースの講師 PyCharm プログラミングpyton用のIDEとして, しかし、私にはこれまでの私の好みから, 自然の演習のためのGeanyを使用.

痛いほど感じた講義中に 2 不足

  1. Pythonのオートコンプリート-とドキュメントから関数やメソッドに吐き出さ
  2. 検証しません pep8標準

良いニュースは、Geanyは設定によって十分な柔軟性があり、容易にそのような行方不明にすることによって補うことができるということです. させます Pythonドキュメントを追加 私たちのIDEへ:

  • あなたを引っ張ります 次のスクリプト どこかに私たちのPATHは/ usr / binがそれを実行可能にすることを忘れないように
  • ファイルを編集して、〜/ .configを/ geany / filedefs / filetypes.python一部の設定は、次の行を追加します。 context_action_cmd = pydocw%sの. だけ前のステップからbinarkataの名前が追加されている場合. 実行する場合Geanyを再起動します。.
  • 我々はすでに機能に関する情報が削除され、コンテキスト・アクションを持っています. 私は、任意の機能を理解していないとして、私は私にショートカットを追加すると、より快適です. 私は私のNetBeansアプローチを悩ます好きなので非常に私は、このアプローチを浸出.

これまでのところは良いです. その後、私は本当にあなたが書いた検証コードを持っていると思いました – 私は一般的に受け入れられている基準に従って書いたり、任意の醜さを書き込むかどうか. 一般に、私は再び発見しました tutorialče どのように物事が起こるが、それは少し古くなっています – Geanyは、すべてがパッケージだけを、それをpep8インストールする必要があり、自分自身の中に組み込まれています. Debianのでは魔法が起こる方法を発見するために、単独で、他のdistrotaでpep8作品をインストールapt-getを. 第二のビルド]メニューボタンで (少なくとも私には) リントはあなたがどのように作成したか醜いコードを発見しますクリックした後であります😀

からのスクリーンショット 2016-01-11 20-42-21

これはあなたのGeanyは、Pythonでうまく動作するようにする方法は基本的であり、同時に高速なプロセッサなしであり続けることは、あなたが弾丸を引っ張るたくなります.

ipv6.he.netデイリーは、スクリプトをテスト

0

で認定 ipv6.he.net 与える毎日のテストを持っています 1 すべての主要なテストを通過した後に追加のポイント. 行わなければなりません 100 最大の結果を得るためにこのようなテスト😐 . テスト自体は完全に自明です

  • トレースルート
  • YOU AAAA
  • DIG PTR
  • ピン
  • 誰が

最も不快なあなたは他のものがある中でも二回🙂少し迷惑なドメインを使用することはできません。すなわち、テスト自体は、一意でなければならないということです🙄 – 何の挑戦はちょうどホイップません 5 CLI-コマンドその中に、コピー/自分のサイトで結果を貼り付けます.

好きな人のように怠惰な管理者の生活に簡単に私のために汚い仕事をするために迅速な1つの単純なbashの-ことを走り書きさせます

#!/bin/bash

hr() {
  local start=$'\e(0' end=$'\e(B' line='qqqqqqqqqqqqqqqq'
  local cols=${COLUMNS:-$(tput cols)}
  while ((${#line} < cols)); do line+="$line"; done
  printf '%s%s%s\n' "$start" "${line:0:cols}" "$end"
}

if [ -z $1 ]
then
  echo "Append domain afert the script name!!!"
  exit
fi

IP=$(dig $1 AAAA +short)

if [ -z ${IP} ]
then
  echo "$1 dont have valid IPv6 record"
else
  reset
  traceroute6 $1
  hr
  dig $1 AAAA
  hr
  dig -x ${IP}
  hr
  ping6 -c3 ${IP}
  hr 
  whois ${IP}
fi

見ることができるようにスクリプトがめちゃくちゃ簡単です. 送信ドメインは、それは、IPv6エントリかどうかを検証している場合は、それのために毎日のテストを行います. 最もクールな部分 – 関数 時間 これは、画面の幅を横切って行を出力することから取られます bashの-ハッカー.

ページのトップへ