タグ付きの投稿 Debianの

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

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でうまく動作するようにする方法は基本的であり、同時に高速なプロセッサなしであり続けることは、あなたが弾丸を引っ張るたくなります.

Debianのジェシーにpostgresqlのアップグレード

0

いくつかのために (私の理由は非常に明確ではありません) 私はDebianのサーバのいずれかをアップグレード分配にPostgreSQLのデーモンのアップグレードに失敗しました。. Postgresqlの悪魔は便利な機能は、新しいバージョンを使用して開始していません (MySQLのとは異なり、) 説得されない一方、, 新しい打ち上げと完全に互換性があります – 大規模なデータベースのために非常に有用. 以下に限定されるものでは更新するためのプロセス 2 足音:

  • pg_dropcluster
  • pg_upgradecluster

izdropite PGクラスタデーモンが停止する必要があります前に、!

pg_dropcluster 9.4 main

このコマンドは、すぐに渡します, その後、ハイライトに移動 – 自身のアップグレード

pg_upgradecluster 9.1 main
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.4/main ...
config /etc/postgresql/9.4/main
data   /var/lib/postgresql/9.4/main
locale en_US.UTF-8
Flags of /var/lib/postgresql/9.4/main set as -------------e-C
port   5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Fixing hardcoded library paths for stored procedures...
Upgrading database xpqt...
Analyzing database xpqt...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

pg_dropcluster 9.1 main

すべてがスムーズminloである場合、PGから古いデータを失うことにあなたを促す上記のようなメッセージを取得する必要があります.

pg_dropcluster 9.1 main

このターパンの終わりには、再度処理を開始することができます. 私にとっては、塩基が小さく、残念ながら私はかなりのアップグレードを通過するどのくらいの時間の評価を与えることはできません.

Debianのジェシーにアップグレード

0

新しいです Debianの安定 週と手についての事実は、それにvirtualkataアップグレードするitchedが、私は今日は時間がなかったです. 私は早期に開始日以来、私はアップグレードするために私の時間を捧げることにしました. ジェシーの喘鳴変更として私は私のソースリストを変更しました

sed -i "s/wheezy/jessie/g" /etc/apt/sources.list && apt-get update

ここ轟音 2 ミラー:

  • MariaDB – 鏡にもはやジェシーはバージョンが含まれて必要はありません 10.0.6 自分自身に私は、多くのを座っていませんでした. その後 5.5 一度、彼女が戻ってMySQLへのラウンドになっているためmichetodbとmysqlのは非常に一貫していません 5.5.42 – それはデフォルトのジェシーです
  • DotDeb – ジェシーが付属していますので、私はここにphp55のために前にそれを使用する必要もありません 5.6.7-1

余分なミラーを蹴った後とMySQLにMariaDBによって振り返ると、dist-upgradeの鉱山は、クリーンapt-getを, 再起動して、私は、Debianに持っていました 8.0. 私は自分のWebサーバーを-と開いた私の驚きに、ここで長い話を働きました – いくつかの単語nginxの-と私は追加のディレクティブを使用して、さらにソースからコンパイル. -l dpkgのnginxのをフル 1.2 うん誰かが保留解除-ないパッケージに忘れてしまいました. 保留解除、すべてをアップグレードするには、スケジュールとnginxの破り上にあります😆 . nginxの-と仕事のクエリを処理し、PHP-FPMのプロセスが起動してrunnignですが、PHPのコードが実行されないとエラー🙄お気に入りを吐くされていません.

変更に関する情報の検索後、私は次の一節を見つけました

FastCGIの構成の問題============================

nginxのは、変更されたfastcgi_paramsを出荷しました, SCRIPT_FILENAME fastcgi_paramを宣言しています. この行は削除されました. 今から我々はまた、上流リポジトリからfastcgi.confを出荷しています, これは健全なSCRIPT_FILENAMEパラメータ値を含みます.

そう, あなたはfastcgi_paramsを使用している場合, あなたはfastcgi.confに切り替えてみてくださいまたは手動で関連のparamsを設定することができます.

ビンゴ. 私は失礼な侵入を作る代わりにfastcgi.conf使用するように仮想ホストを変更し、すべてが点灯します. その後2設定の違いが何であるかを確認するために迅速な差分を打ちます


diff /etc/nginx/fastcgi_params /etc/nginx/fastcgi.conf
1a2
> fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

仮想ホストに大規模な構成を注いでクールなアイディアであることを思い出しています. それは、再びnginxの-とアドオンmod_secたい再コンパイルされないままであります + ページスピードそれは待つことができます. はるかに重要なこと, あなたは、Debianはdist-upgradeのに壊れない第三のソースとkastam公演から見た場合、私は繰り返しそのルール!

ページのトップへ