מאז גוגל התחיל לאהוב באתרי https, פריסה צורכת יותר של SSL-ואיפה אתה. בסך הכל יותר מ טרדה לשרתים יש שפלה מהירה. החדשות הטובות הן, כי HTTP2 תקן במשך למעלה משנה וחצי משולב בכל השרתים ודפדפני http הגדולים ושמירה מספיק יציב. למרבה הצער דביאן יציב אין חבילות לשמור HTTP2 בשרתי http הראשי. גרסאות שאנחנו צריכים לעבוד HTTP2 הן כדלקמן:

בשבילי ערבוביה גדולה ולפי תלוי נהנה אפאצ'י או nginx. אני עדיין לא שחקתי כדי לנהל את עסקיהם של http2 אפצ'י של דביאן 8 כי זה לא היה אבל backports ריפה יש את זה כל כך, זה לא יהיה בעיה גדולה. עבור nginx שכבר שיחק מספר פעמים. באופן כללי הצעדים הם מעטים יחסית פשוטים:

  1. להוסיף ריפו הרשמי nginx – מהדורת דביאן, אנא 1.6.h הוא 🙄
  2. התקן OpenSSL מ backports שלך הוא כרגע 1.0.2k – כי אנחנו צריכים אורה מזרחי תחזוקה על מנת הכל כדי לעבוד והוא barzichko
  3. להתקין devscripts שלך – עכשיו זה הזמן לחלוק את זה יהיה bildnem החבילה שלנו משום הרשמי נערך עם 1.0.1t OpenSSL זה לא עובד ALPN ודפדפנים לא מגיבים היטב ולעבוד http2-רק אם הוא נאלץ
  4. גרסה מוגדלת לא מחזיקה צוענית עם חבילות כגרסה חדשה מקור היחיד sinkenm

נתחיל צעד אחר צעד

להוסיף ריפו nginx

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

להוסיף OpenSSL 1.0.2k ו dev הספרייה אחרת ואנו bildnem שוב עם 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

הזן PPTA שבו משתמשים קוד nginx במקרה שלי, זה nginx-1.10.3 להפעיל את הפקודה עם אשר incrementare גרסה, אני אישית מעדיף להוסיף 1 לבנות זה

debchange --newversion 1.10.3-1

לאחר שתוסיף changelog-ובמידה להמשיך ההידור בפועל

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

הבהרה קטנה על פקודת התצורה:

-לנו -uc לומר את התסריט לא “חתם” .קבצי DSC ו .changes. -אני ו -אני לגרום התסריט להתעלם קבצים של בקרת גרסאות. -B כדי ליצור חבילה בינארית בלבד. -j כמו איך לעשות תהליך מקביל לקמפל 🙂

 

לאחר התהליך לעיל כדי להתקין החבילות החדשות שלנו. אם כבר התקנת nginx עדיף להסיר

apt remove nginx nginx-*

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

dpkg -i ../*.deb

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

Преживях малка драма с диска на лаптопа ми. След фиксването на проблема при apt-get update лъсваше следният крайно не приятен край на процеса

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. זה מאוד מינימליסטי כאן התומכת במגוון עצום של שפות – צדף, php, פִּיתוֹן, C … וכו. יש השלמה אוטומטית תוך לעזאזל הוא זריז. היא חסרה את נעימה מדי פעם ככל האפשר, אך כרגע בשבילי זה די והותר. התחלתי קורס מקוון תכנות Python на SoftUni – כדי לרענן את הידע שלהם ואת לשדרג כי אני לא אחרי נאות מה קורה עם פיתון 3. המרצים של הקורס מומלץ PyCharm כמו IDE עבור תכנות pyton, אבל לי רחוק לטעמי, באופן טבעי להשתמש Geany לתרגילים.

במהלך ההרצאות בכאב הרגישו 2 מחסור

  1. השלמה אוטומטית-ונשף פיתון מתיעוד לפונקציות ושיטות
  2. אין אימות עבור תקן pep8

החדשות הטובות הן כי Geany היא גמישה מספיק כדי בהתאם לתצורה וניתן להשלים בקלות על ידי ב חסר כאלה. תן להוסיף תיעוד פיתון כדי IDE שלנו:

  • למשוך שלך התסריט הבא איפשהו דרכנו כפי / usr / bin תשכח לעשות את זה הפעלה
  • לערוך את הקובץ ~ / .config / geany / filedefs / filetypes.python במסגרות חלק להוסיף את השורה הבאה context_action_cmd = pydocw% s. אם רק יש הוספת שמו של binarkata מהשלב הקודם. הפעל מחדש Geany אם לרוץ.
  • כבר יש לנו א-פעולה בהקשר כי תסיר מידע על הפונקציה. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. ליץ לי גישה זו מאוד כי אני אוהב מרגיז אותי הגישה NetBeans.

עַד כָּאן נִיחָא. אז אני באמת רוצה שיהיה קוד אימות אתה כותב – אם אני כותב על פי סטנדרטים מקובלים או לכתוב כל כיעור. באופן כללי מצאתי שוב tutorialče איך דברים קורים אבל זה קצת מיושן – Geany בנתה הכל לתוך עצמו צריך רק להתקין אותו pep8 חבילה. בשנת דביאן apt-get install pep8 עובד distrota אחרים לבד לגלות איך הקסם קורה. בשנת כפתור תפריט Build השני (לפחות לי) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

Screenshot from 2016-01-11 20-42-21

Това е общи линии как да накарате вашият Geany да работи по добре с Python и същевременно да продължи да бъде бърз без да кара процесора ви да иска да си тегли куршума.

עבור חלק (לא מאוד ברור הסיבות שלי) נכשלתי לשדרג daemon PostgreSQL ב חלוקתי לשדרג אחד השרתים דביאן שלי. שד PostgreSQL יש תכונה נחמדה לא התחילו להשתמש בגרסה החדשה (בניגוד Mysql) בעוד לא לשכנע, החדש תואם באופן מלא עם ההשקה – מאוד שימושי עבור מסדי נתונים גדולים. התהליך לעדכון מוגבל הבא 2 צעדים:

  • pg_dropcluster
  • pg_upgradecluster

לפני daemon אשכול pg izdropite חייב להיפסק!

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

Ако всичко е минло гладко трябва да получите съобщение като горното което ви подканва да разкарате старите данни от pg.

pg_dropcluster 9.1 main

В края на тая тарпана вече можете да стартирате процеса си отново. При мен базите са малки и за съжаление не мога да дам оценка за колко време преминава същественият ъпгрейд.

החדש Stable דביאן עובדה כשבוע והידיים גירדו לשדרג virtualkata אליו אבל לא היה לי זמן היום. מאז היום התחלתי מוקדם, החלטתי להקדיש את הזמן שלי כדי לשדרג. שיניתי את רשימת מקורות כמו שיניתי את. ג'סי את תירגע

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

כאן שאג 2 מראה:

  • MariaDB – לא על המראה כבר לא צריך ג'סי כולל גרסה 10.0.6 בעצמי אני לא יושב טוב רב. אז 5.5 michetodb ו- MySQL אינו עקביים למדי משום שבאותו הזמן הסתובב חזרה mysql 5.5.42 – הוא ג'סי מחדל
  • DotDeb – השתמשתי בו לפני עבור php55 כאן הוא גם מיותר כי ג'סי מגיע עם 5.6.7-1

לאחר שהעלה את מראות תוספת והסתובב ידי MariaDB ל MySQL apt-get dist שלי השדרוג נקי, לאתחל ונאלצתי דביאן 8.0. פתחתי השרת ואת האינטרנט שלי ולהפתעתי עבדתי כאן סיפור ארוך – כמה מילים Nginx-ואני הידור ממקור נוסף עם הוראות נוספות. dpkg nginx-מלא -l 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 במקום לעשות חדירות גסות והכל מוארים. ואז פגע הבדל מהיר כדי לראות מה ההבדל בין config 2

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

מה שהזכיר לי כי תצורות גדולות לשפוך פנימה מארחים וירטואליים הן רעיון מגניב. נותר רק הידור מחדש שוב Nginx-ו-ons שרוצים mod_sec + Pagespeed אבל זה יכול לחכות. הרבה יותר חשוב, הכלל. אני חוזר, אם את לא מסתכלת על המקורות והופעות של 3 תלבושות לא dist דביאן השדרוג הפסקת-!

https://www.youtube.com/watch?v = gEQCny6zNF0