ਜਦੋਂ ਤੋਂ ਗੂਗਲ ਨੇ https ਸਾਈਟਾਂ ਨੂੰ ਪਿਆਰ ਕਰਨਾ ਸ਼ੁਰੂ ਕੀਤਾ ਹੈ, ਜਿਥੇ ਵੀ ਸੰਭਵ ਹੋਵੇ SSLs ਦੀ ਵਧੇਰੇ ਪੁੰਜ ਸਥਾਪਨਾ ਦੀ ਲੋੜ ਹੈ. ਆਮ ਤੌਰ 'ਤੇ, ਸਰਵਰਾਂ ਲਈ ਵਧੇਰੇ ਪ੍ਰੇਸ਼ਾਨ ਕਰਨ ਦੇ ਨਾਲ, ਸਾਡੇ ਕੋਲ ਗਤੀ ਵਿੱਚ ਵੀ ਇੱਕ ਗਿਰਾਵਟ ਹੈ. ਇਹ ਵਧੀਆ ਹੈ, ਉਹ HTTP2 ਡੇ standard ਸਾਲ ਤੋਂ ਵੱਧ ਸਮੇਂ ਲਈ ਸਾਰੇ ਪ੍ਰਮੁੱਖ HT ਸਰਵਰਾਂ ਅਤੇ ਬ੍ਰਾsersਜ਼ਰਾਂ ਵਿੱਚ ਮਾਨਕ ਏਕੀਕ੍ਰਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਇਸਦਾ ਸਮਰਥਨ ਕਾਫ਼ੀ ਸਥਿਰ ਹੈ. ਬਦਕਿਸਮਤੀ ਨਾਲ ਡੈਬਿਅਨ ਸਥਿਰ ਕੋਲ ਪੈਕੇਜ ਨਹੀਂ ਹੁੰਦੇ ਜੋ HTTP2 ਨੂੰ ਮੁੱਖ HTTP ਸਰਵਰਾਂ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੇ ਹਨ. HTTP2 ਦੇ ​​ਕੰਮ ਕਰਨ ਲਈ ਸਾਨੂੰ ਜੋ ਸੰਸਕਰਣ ਦੀ ਜਰੂਰਤ ਹੈ ਉਹ ਹੇਠਾਂ ਦਿੱਤੇ ਹਨ:

  • ਅਪਾਚੇ > 2.4.17
  • ਐਨਜਿਨੈਕਸ > 1.9.5
  • ਦੂਸਰੇ ਮੈਨੂੰ ਨਿੱਜੀ ਤੌਰ 'ਤੇ ਉਤੇਜਿਤ ਨਹੀਂ ਕਰਦੇ (ਲਾਈਟਪੀਡੀ ਨੇ ਸੰਭਾਵਤ ਤੌਰ ਤੇ ਯੋਜਨਾ ਬਣਾਈ ਹੈ…..)

ਮੇਰੇ ਲਈ ਮਿਸ਼ਰਣ ਵੱਡਾ ਹੈ ਅਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਅਪਾਚੇ ਜਾਂ ਨਿੰਜੈਕਸ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ. ਮੈਂ ਅਜੇ ਤੱਕ ਡੈਬਿ'sਨਜ਼ ਅਪਾਚੇ HT2 ਖੇਡਣਾ ਨਹੀਂ ਖੇਡਿਆ 8 ਜਿਵੇਂ ਕਿ ਮੇਰੇ ਕੋਲ ਨਹੀਂ ਸੀ ਪਰ ਬੈਕਪੋਰਟ ਵਿੱਚ ਰੈਪੋ ਇਸ ਤਰਾਂ ਹੈ, ਇਹ ਕੋਈ ਵੱਡਾ ਸੌਦਾ ਨਹੀਂ ਹੋਵੇਗਾ. Nginx ਲਈ ਇਸ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਕਈ ਵਾਰ ਖੇਡਿਆ ਗਿਆ ਹੈ. ਆਮ ਤੌਰ 'ਤੇ, ਕਦਮ ਕਈ ਅਤੇ ਮੁਕਾਬਲਤਨ ਸਧਾਰਣ ਹਨ:

  1. ਅਸੀਂ ਐਨਜੀਨੇਕਸ ਅਧਿਕਾਰੀ ਰੈਪੋ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ – ਡੀਬੀਅਨ ਵਿਚ ਵਰਜਨ 1.6.x 🙄 ਹੈ
  2. ਬੈਕਪੋਰਟ ਤੋਂ ਓਪਨਸੈਲ ਸਥਾਪਤ ਕਰਨਾ ਇਸ ਸਮੇਂ 1.0.2k ਹੈ – ਇਹ ਉਹੋ ਹੈ ਜਿਸਦੀ ਸਾਨੂੰ ਲੋੜ ਹੈ ALPN ਦੇਖਭਾਲ ਤਾਂ ਜੋ ਹਰ ਚੀਜ਼ ਕੰਮ ਕਰ ਸਕੇ ਅਤੇ ਤੇਜ਼ ਹੋ ਸਕੇ
  3. ਅਸੀਂ ਆਪਣੇ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰਦੇ ਹਾਂ – ਇੱਥੇ ਸਾਂਝਾ ਕਰਨ ਦਾ ਪਲ ਹੈ ਕਿ ਅਸੀਂ ਆਪਣਾ ਪੈਕੇਜ ਬਣਾਵਾਂਗੇ ਕਿਉਂਕਿ ਅਧਿਕਾਰਤ ਇਕ ਓਪਨਸੈਲ 1.0.1t ਨਾਲ ਕੰਪਾਇਲ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿੱਥੇ ALPN ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਬ੍ਰਾ browਜ਼ਰ ਵਧੀਆ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦੇ ਅਤੇ HT2 ਕੇਵਲ ਤਾਂ ਹੀ ਕੰਮ ਕਰਦਾ ਹੈ ਜੇ ਤੁਸੀਂ ਇਸ ਨੂੰ ਮਜਬੂਰ ਕਰਦੇ ਹੋ
  4. ਅਸੀਂ ਸੰਸਕਰਣ ਨੂੰ ਵਧਾਉਂਦੇ ਹਾਂ ਤਾਂ ਕਿ ਜਿਪਸੀ ਨੂੰ ਪੈਕੇਜਾਂ ਨਾਲ ਨਾ ਰੋਕਿਆ ਜਾਏ ਅਤੇ ਜਦੋਂ ਕੋਈ ਨਵਾਂ ਸੰਸਕਰਣ ਸਿਰਫ ਸਰੋਤਾਂ ਨੂੰ ਸਿੰਕ ਕਰਨ ਲਈ ਹੋਵੇ

ਚਲੋ ਕਦਮ ਦਰ ਕਦਮ ਸ਼ੁਰੂ ਕਰੀਏ

Nginx ਰੈਪੋ ਸ਼ਾਮਲ ਕਰੋ

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

ਓਪਨੈਸਲ 1.0.2 ਕੇ ਅਤੇ ਦੇਵ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਜੋੜਨਾ ਨਹੀਂ ਤਾਂ ਅਸੀਂ ਇਸਨੂੰ ਫਿਰ 1.0.1 ਟੀ ਨਾਲ ਬਣਾਵਾਂਗੇ ਜੋ ਸਾਡਾ ਟੀਚਾ ਨਹੀਂ ਹੈ

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

ਜੇ ਤੁਸੀਂ ਸਹੀ workedੰਗ ਨਾਲ ਕੰਮ ਕੀਤਾ ਹੈ ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਇਕ structureਾਂਚਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ

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

ਆਪਣੀ ਪਸੰਦ ਦਾ ਚੇਂਜਲਾਗ ਜੋੜਨ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਅਸਲ ਸੰਕਲਨ ਤੇ ਜਾ ਸਕਦੇ ਹੋ

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

ਕਮਾਂਡ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੀ ਥੋੜ੍ਹੀ ਜਿਹੀ ਵਿਆਖਿਆ:

-us -uc ਸਕ੍ਰਿਪਟ ਨੂੰ ਨਾ ਦੱਸੋ “ਸੰਕੇਤ” .dsc ਅਤੇ .changes ਫਾਈਲਾਂ. -i ਅਤੇ -ਆਈ ਸਕ੍ਰਿਪਟ ਨੂੰ ਵਰਜਨ ਕੰਟਰੋਲ ਫਾਈਲਾਂ ਨੂੰ ਨਜ਼ਰ ਅੰਦਾਜ਼ ਕਰਨ ਲਈ. -ਬੀ ਸਿਰਫ ਬਾਈਨਰੀ ਪੈਕੇਜ ਬਣਾਉਣ ਲਈ. -ਜੇ ਕੰਪਾਈਲ ਕਰਨ ਲਈ ਕਿੰਨੇ ਪੈਰਲਲ ਪ੍ਰਕਿਰਿਆਵਾਂ ਬਣਾਉਣ ਦੇ ਨਾਲ

 

ਉਪਰੋਕਤ ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਸਾਨੂੰ ਆਪਣੇ ਨਵੇਂ ਪੈਕੇਜ ਸਥਾਪਤ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ. ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਐਨਜੀਨੇਕਸ ਸਥਾਪਤ ਹੈ, ਤਾਂ ਇਸ ਨੂੰ ਅਨਇੰਸਟੌਲ ਕਰਨਾ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੈ

apt remove nginx nginx-*

/ ਆਦਿ ਵਿੱਚ nginx ਫੋਲਡਰ ਦਾ ਬੈਕ ਅਪ ਲੈਣਾ ਵੀ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੈ. ਅਸਲ ਵਿੱਚ ਜਦੋਂ ਅਪਗ੍ਰੇਡ ਕਰਨਾ 1.6.5 ਨੂੰ 1.10.3 ਮੇਰੇ ਕੋਲ ਕੋਈ ਨਾਟਕ ਨਹੀਂ ਸੀ ਪਰ ਤੁਸੀਂ ਕਦੇ ਨਹੀਂ ਜਾਣਦੇ. ਨਵੇਂ ਪੈਕ ਚੋਟੀ-ਪੱਧਰ ਦੇ ਫੋਲਡਰ ਵਿੱਚ ਸਥਿਤ ਹਨ ਅਤੇ ਇੱਕ ਕਮਾਂਡ ਨਾਲ ਸਥਾਪਿਤ ਕੀਤੇ ਜਾਣੇ ਚਾਹੀਦੇ ਹਨ ਜਿਵੇਂ ਕਿ:

dpkg -i ../*.deb

ਜੇ ਸਭ ਕੁਝ ਸੁਚਾਰੂ wentੰਗ ਨਾਲ ਚਲਿਆ ਗਿਆ, ਤੁਹਾਨੂੰ ਬੱਸ ਨਿੰਜੀਐਕਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਚਲਾਉਣਾ ਅਤੇ HT2 ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ ਹੈ, ਜੋ ਕਿ ਹੁਣ ਇਸ ਲੇਖ ਦਾ ਟੀਚਾ ਨਹੀਂ ਹੈ..

ਮੈਂ ਆਪਣੇ ਲੈਪਟਾਪ ਤੇ ਡਿਸਕ ਦੇ ਨਾਲ ਇੱਕ ਛੋਟਾ ਜਿਹਾ ਡਰਾਮਾ ਅਨੁਭਵ ਕੀਤਾ. ਅਪਟੀ-ਗੇਟ ਅਪਡੇਟ ਨਾਲ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਪ੍ਰਕਿਰਿਆ ਦਾ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਬਹੁਤ ਹੀ ਕੋਝਾ ਅੰਤ ਚਮਕ ਰਿਹਾ ਸੀ

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

ਅੰਤ ਵਿੱਚ, ਨਤੀਜਾ ਏਪੀਟੀ ਨੂੰ ਸਮਕਾਲੀ ਕਰਨ ਲਈ ਮਜ਼ਬੂਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.

ਮੇਰਾ ਮਨਪਸੰਦ ਟੈਕਸਟ ਐਡੀਟਰ ਹੈ ਜੀਨੀ. ਇਹ ਬਹੁਤ ਘੱਟ ਹੈ ਇਥੇ ਜੋ ਭਾਸ਼ਾਵਾਂ ਦੇ ਵਿਸ਼ਾਲ ਸਮੂਹ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ – ਸ਼ੈੱਲ, ਪੀਐਚਪੀ, ਪਾਈਥਨ, ਸੀ … ਆਦਿ. ਇਸਦੀ ਸਵੈਚਾਲਤ ਮੁਕੰਮਲਤਾ ਹੈ ਅਤੇ ਉਸੇ ਸਮੇਂ ਇਹ ਬਹੁਤ ਚੁਸਤ ਹੈ. ਇਸ ਵਿਚ ਕੁਝ ਹੋਰ ਸੁਹਾਵਣੇ ਅਵਸਰ ਦੀ ਘਾਟ ਹੈ, ਪਰ ਇਸ ਸਮੇਂ ਇਹ ਮੇਰੇ ਲਈ ਕਾਫ਼ੀ ਜ਼ਿਆਦਾ ਹੈ. ਮੈਂ ਇੱਕ courseਨਲਾਈਨ ਕੋਰਸ ਸ਼ੁਰੂ ਕੀਤਾ ਪਾਇਥਨ ਪ੍ਰੋਗਰਾਮਿੰਗ на ਸਾਫਟਯੂਨੀ – ਆਪਣੇ ਗਿਆਨ ਨੂੰ ਤਾਜ਼ਾ ਕਰਨ ਅਤੇ ਇਸ ਨੂੰ ਅਪਗ੍ਰੇਡ ਕਰਨ ਲਈ ਕਿਉਂਕਿ ਮੈਂ ਪਾਈਥਨ ਨਾਲ ਜੋ ਹੋ ਰਿਹਾ ਹੈ ਉਸ ਦੀ ਪੂਰੀ ਤਰ੍ਹਾਂ ਨਿਗਰਾਨੀ ਨਹੀਂ ਕੀਤੀ 3. ਕੋਰਸ ਦੇ ਲੈਕਚਰਾਰ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹਨ ਪਾਈਚਾਰਮ ਪਾਈਟਨ ਪ੍ਰੋਗਰਾਮਿੰਗ ਲਈ ਇੱਕ ਆਈਡੀਈ ਦੇ ਤੌਰ ਤੇ, ਪਰ ਮੈਨੂੰ ਇਹ ਬਿਲਕੁਲ ਪਸੰਦ ਨਹੀਂ ਹੈ, ਬੇਸ਼ਕ ਮੈਂ ਅਭਿਆਸਾਂ ਲਈ ਗੇਨੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹਾਂ.

ਭਾਸ਼ਣ ਦੇ ਦੌਰਾਨ ਮੈਂ ਦੁਖਦਾਈ ਮਹਿਸੂਸ ਕੀਤਾ 2 ਦੀ ਘਾਟ

  1. ਫਾਈਥਨ ਅਤੇ ocੰਗਾਂ ਦੇ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਪਾਈਥਨ ਆਟੋਕੰਪਲੀਟਿਵ ਸਾਹ
  2. ਲਈ ਕੋਈ ਪ੍ਰਮਾਣਿਕਤਾ ਨਹੀਂ pep8 ਮਿਆਰ

ਚੰਗੀ ਗੱਲ ਇਹ ਹੈ ਕਿ ਗੇਨੀ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਕਾਫ਼ੀ ਲਚਕਦਾਰ ਹੈ ਅਤੇ ਗੁੰਮਸ਼ੁਦਾ ਵਿਅਕਤੀਆਂ ਦੁਆਰਾ ਆਸਾਨੀ ਨਾਲ ਪੂਰਕ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ.. ਕਈ ਵਾਰੀ ਪਾਈਥਨ ਡੌਕੂਮੈਂਟੇਸ਼ਨ ਸ਼ਾਮਲ ਕਰੋ ਸਾਡੇ IDE ਨੂੰ:

  • ਅਸੀਂ ਖਿੱਚਦੇ ਹਾਂ ਹੇਠ ਲਿਖੀ ਸਕ੍ਰਿਪਟ ਸਾਡੇ ਪਾਥ ਵਿੱਚ ਕਿਤੇ ਵੀ ਉਦਾਹਰਣ ਲਈ / usr / ਬਿਨ ਅਤੇ ਇਸ ਨੂੰ ਚੱਲਣਯੋਗ ਬਣਾਉਣਾ ਨਾ ਭੁੱਲੋ
  • ਸੈਟਿੰਗ ਸੈਕਸ਼ਨ ਵਿਚ ਹੇਠ ਲਿਖੀ ਲਾਈਨ ਜੋੜ ਕੇ ~ / .config / geany / filedefs / filetyype.python ਫਾਈਲ ਨੂੰ ਸੋਧੋ ਪ੍ਰਸੰਗ_ਅਕਤਾ_ਸੀਮੀਡੀ = ਪਾਈਡੌਕਸ% s. ਜੇ ਇੱਥੇ ਪਿਛਲੇ ਪਗ ਤੋਂ ਸਿਰਫ ਬਾਈਨਰੀ ਦਾ ਨਾਮ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ. ਜੇ ਗੇਨੀ ਜਾਰੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ ਅਸੀਂ ਜੀਨੀ ਨੂੰ ਦੁਬਾਰਾ ਅਰੰਭ ਕਰਦੇ ਹਾਂ.
  • ਸਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਪ੍ਰਸੰਗ-ਕਿਰਿਆ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਫੰਕਸ਼ਨ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੇਵੇਗੀ. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. ਮੈਨੂੰ ਇਹ ਪਹੁੰਚ ਬਹੁਤ ਪਸੰਦ ਹੈ ਕਿਉਂਕਿ ਮੈਂ ਨੈੱਟਬੀਨ ਦੀ ਪਹੁੰਚ ਤੋਂ ਬਹੁਤ ਨਾਰਾਜ਼ ਹਾਂ.

ਹੁਣ ਤੱਕ ਬਹੁਤ ਵਧੀਆ. ਫਿਰ ਮੈਂ ਸੱਚਮੁੱਚ ਉਸ ਕੋਡ ਦੀ ਵੈਧਤਾ ਚਾਹੁੰਦਾ ਹਾਂ ਜੋ ਮੈਂ ਲਿਖਦਾ ਹਾਂ – ਭਾਵੇਂ ਮੈਂ ਇਸਨੂੰ ਆਮ ਤੌਰ ਤੇ ਸਵੀਕਾਰੇ ਮਿਆਰਾਂ ਅਨੁਸਾਰ ਲਿਖਦਾ ਹਾਂ ਜਾਂ ਮੈਂ ਕੁਝ ਬਦਸੂਰਤੀ ਲਿਖਦਾ ਹਾਂ. ਅਸਲ ਵਿਚ ਮੈਨੂੰ ਇਹ ਫਿਰ ਮਿਲਿਆ ਟਿutorialਟੋਰਿਯਲ ਚੀਜ਼ਾਂ ਕਿਵੇਂ ਹੁੰਦੀਆਂ ਹਨ ਪਰ ਇਹ ਥੋੜਾ ਪੁਰਾਣਾ ਹੈ – ਗੇਨੀ ਵਿਚ ਸਭ ਕੁਝ ਬਣਾਇਆ ਹੋਇਆ ਹੈ, ਤੁਹਾਨੂੰ ਸਿਰਫ ਪੇਪ 8 ਪੈਕੇਜ ਸਥਾਪਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਡੇਬੀਅਨ ਐਪਟ-ਗਨ ਇਨਸਟਾਲ ਪੇਪ 8 ਦੂਸਰੀਆਂ ਡਿਸਟ੍ਰੋਸ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ ਤੁਹਾਨੂੰ ਆਪਣੇ ਆਪ ਨੂੰ ਇਹ ਪਤਾ ਲਗਾਉਣਾ ਹੋਵੇਗਾ ਕਿ ਜਾਦੂ ਕਿਵੇਂ ਹੁੰਦਾ ਹੈ. ਬਿਲਡ ਮੇਨੂ ਵਿੱਚ, ਦੂਜਾ ਬਟਨ (ਘੱਟੋ ਘੱਟ ਮੇਰੇ ਲਈ) ਇਸ ਨੂੰ ਦਬਾਉਣ ਤੋਂ ਬਾਅਦ ਲਿੰਟ ਹੈ ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ ਤੁਸੀਂ ਕਿੰਨਾ ਬਦਸੂਰਤ ਕੋਡ ਬਣਾਇਆ ਹੈ 😀

ਤੋਂ ਸਕਰੀਨ ਸ਼ਾਟ 2016-01-11 20-42-21

ਇਹ ਇਕ ਆਮ ਰੂਪਰੇਖਾ ਹੈ ਕਿ ਤੁਹਾਡੀ ਜੀਨੀ ਨੂੰ ਪਾਈਥਨ ਨਾਲ ਕਿਵੇਂ ਬਿਹਤਰ workੰਗ ਨਾਲ ਕੰਮ ਕਰਨਾ ਹੈ, ਜਦੋਂ ਕਿ ਤੁਹਾਡੇ ਸੀਪੀਯੂ ਨੂੰ ਬੁਲੇਟ ਨੂੰ ਖਿੱਚਣਾ ਨਹੀਂ ਚਾਹੁੰਦੇ ਬਿਨਾਂ ਵੀ ਤੇਜ਼ੀ ਨਾਲ ਕੰਮ ਕਰਨਾ ਹੈ..

ਕੁਝ ਕਰਕੇ (ਮੇਰੇ ਲਈ ਬਹੁਤ ਸਪੱਸ਼ਟ ਕਾਰਨ ਨਹੀਂ) ਮੈਂ ਆਪਣੇ ਡੇਬੀਅਨ ਸਰਵਰਾਂ ਵਿੱਚੋਂ ਇੱਕ ਉੱਤੇ ਡਿਸਟ੍ਰੀਬਿ upgradeਸ਼ਨ ਅਪਗ੍ਰੇਡ ਵਿੱਚ ਪੋਸਟਗ੍ਰੇਸਕੈਲ ਡੈਮਨ ਨੂੰ ਅਪਗ੍ਰੇਡ ਕਰਨਾ ਭੁੱਲ ਗਿਆ. ਪੋਸਟਗਰੇਸਕੈਲ ਡੈਮਨ ਵਿਚ ਇਸ ਦੇ ਨਵੇਂ ਸੰਸਕਰਣ ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਨਾ ਕਰਨ ਦੀ ਵਧੀਆ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ (Mysql ਦੇ ਉਲਟ) ਜਦ ਤਕ ਸਾਨੂੰ ਯਕੀਨ ਨਹੀਂ ਹੁੰਦਾ, ਕਿ ਨਵਾਂ ਇਕ ਲਾਂਚ ਦੇ ਨਾਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਅਨੁਕੂਲ ਹੈ – ਵੱਡੇ ਡਾਟਾਬੇਸ ਵਿੱਚ ਬਹੁਤ ਲਾਭਦਾਇਕ. ਅਪਡੇਟ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਆਪਣੇ ਆਪ ਵਿੱਚ ਸਿਰਫ ਹੇਠਾਂ ਸੀਮਿਤ ਹੈ 2 ਕਦਮ:

  • pg_rodcluster
  • pg_upgradecluster

ਕਲੱਸਟਰ ਸੁੱਟਣ ਤੋਂ ਪਹਿਲਾਂ ਪੀਜੀ ਡੈਮਨ ਨੂੰ ਰੋਕਣਾ ਲਾਜ਼ਮੀ ਹੈ!

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

ਜੇ ਸਭ ਕੁਝ ਸੁਚਾਰੂ wentੰਗ ਨਾਲ ਚੱਲਿਆ ਤਾਂ ਤੁਹਾਨੂੰ ਉਪਰੋਕਤ ਸੁਨੇਹਾ ਮਿਲਣਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਪੁਰਾਣੇ ਡੇਟਾ ਨੂੰ ਪੀਜੀ ਤੋਂ ਛੁਟਕਾਰਾ ਪਾਉਣ ਲਈ ਸੱਦਾ ਦਿੰਦਾ ਹੈ.

pg_dropcluster 9.1 main

ਇਸ ਤਰਪਨ ਦੇ ਅੰਤ ਤੇ, ਤੁਸੀਂ ਹੁਣ ਆਪਣੀ ਪ੍ਰਕਿਰਿਆ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹੋ. ਮੇਰੇ ਲਈ, ਅਧਾਰ ਛੋਟੇ ਹਨ ਅਤੇ ਬਦਕਿਸਮਤੀ ਨਾਲ ਮੈਂ ਇਸ ਗੱਲ ਦਾ ਅੰਦਾਜ਼ਾ ਨਹੀਂ ਲਗਾ ਸਕਦਾ ਕਿ ਮਹੱਤਵਪੂਰਣ ਅਪਗ੍ਰੇਡ ਕਿੰਨਾ ਸਮਾਂ ਲੈਂਦਾ ਹੈ..

ਨਵਾਂ ਡੇਬੀਅਨ ਸਥਿਰ ਲਗਭਗ ਇਕ ਹਫਤੇ ਤੋਂ ਇਕ ਤੱਥ ਰਿਹਾ ਹੈ ਅਤੇ ਮੇਰੇ ਹੱਥ ਇਸ ਵਿਚ ਮੇਰੀ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਨੂੰ ਅਪਗ੍ਰੇਡ ਕਰਨ ਲਈ ਖੁਜਲੀ ਕਰ ਰਹੇ ਸਨ ਪਰ ਮੇਰੇ ਕੋਲ ਅੱਜ ਤਕ ਕੋਈ ਸਮਾਂ ਨਹੀਂ ਸੀ. ਜਦੋਂ ਤੋਂ ਮੇਰਾ ਦਿਨ ਜਲਦੀ ਸ਼ੁਰੂ ਹੋਇਆ, ਮੈਂ ਅਪਗ੍ਰੇਡ ਕਰਨ ਲਈ ਸਮਾਂ ਸਮਰਪਿਤ ਕਰਨ ਦਾ ਫੈਸਲਾ ਕੀਤਾ. Промених сорс листа ми като промених wheezy на jessie

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

ਉਹ ਇੱਥੇ ਗਰਜਿਆ 2 ਸ਼ੀਸ਼ੇ:

  • ਮਾਰੀਆਡੀਬੀ – ਇਸ ਸ਼ੀਸ਼ੇ ਤੋਂ ਹੁਣ ਨਹੀਂ ਚਾਹੀਦਾ ਜੇਸੀ ਦਾ ਇੱਕ ਸੰਸਕਰਣ ਸ਼ਾਮਲ ਹੈ 10.0.6 ਆਪਣੇ ਆਪ ਵਿਚ ਜੋ ਮੈਨੂੰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਪਸੰਦ ਨਹੀਂ ਸੀ. ਦੇ ਬਾਅਦ 5.5 michetodb ਅਤੇ mysql ਕਾਫ਼ੀ ਅਨੁਕੂਲ ਨਹੀਂ ਹਨ ਜਿਸ ਕਰਕੇ ਇਸ ਸਮੇਂ ਮੈਂ mysql ਵੱਲ ਮੁੜਿਆ 5.5.42 – ਇਹ ਜੈਸੀ ਵਿਚ ਮੂਲ ਹੈ
  • ਡਾਟਡੇਬ – ਮੈਂ ਇਸਨੂੰ ਪੀ ਪੀ ਪੀ 55 ਲਈ ਪਹਿਲਾਂ ਇਸਤੇਮਾਲ ਕੀਤਾ ਸੀ ਇਥੇ ਬੇਲੋੜਾ ਵੀ ਹੈ ਕਿਉਂਕਿ ਜੈਸੀ ਆਉਂਦੀ ਹੈ 5.6.7-1

ਜਦੋਂ ਮੈਂ ਬੇਲੋੜੇ ਸ਼ੀਸ਼ੇ ਗੁਆ ਲਵਾਂ ਅਤੇ ਮਾਰੀਆਡੀਬੀ ਤੋਂ ਮਾਈਸਕੈੱਲ ਵੱਲ ਮੁੜਿਆ ਤਾਂ ਸਾਫ ਹੋ ਗਿਆ, ਰੀਬੂਟ ਅਤੇ ਮੈਂ ਪਹਿਲਾਂ ਹੀ ਡੇਬੀਅਨ ਨਾਲ ਸੀ 8.0. ਮੈਂ ਆਪਣਾ ਵੈੱਬ ਸਰਵਰ ਖੋਲ੍ਹਿਆ ਅਤੇ ਹੈਰਾਨੀ ਦੀ ਗੱਲ ਹੈ ਕਿ ਇਹ ਇੱਥੇ ਕੰਮ ਕਰਦਾ ਹੈ, ਕਹਾਣੀ ਲੰਬੀ ਹੈ – ਥੋੜੇ ਸ਼ਬਦਾਂ ਵਿੱਚ ਮੇਰਾ ਐਨਜਿਨੈਕਸ ਹੋਰ ਸਰੋਤਾਂ ਤੋਂ ਅਤਿਰਿਕਤ ਨਿਰਦੇਸ਼ਾਂ ਨਾਲ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ. dpkg -l nginx- ਪੂਰਾ 1.2 mdaaa ਕੋਈ ਪੈਕੇਜ ਅਨ-ਅਨੋਲਡ ਕਰਨਾ ਭੁੱਲ ਗਿਆ. ਅਨੋਲਡ ਅਤੇ ਅਪਗ੍ਰੇਡ ਸਭ ਕੁਝ ਯੋਜਨਾ ਦੇ ਅਨੁਸਾਰ ਹੈ ਐਨਜੀਨੇਕਸ ਤੋੜਿਆ 😆 . ਨਿਗਿਨੈਕਸ ਪ੍ਰੋਸੈਸਿੰਗ ਬੇਨਤੀਆਂ ਦਾ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਪੀਐਚਪੀ-ਐਫਪੀਐਮ ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਹੈ ਅਤੇ ਚੱਲਦੀ ਹੈ ਪਰ ਪੀਐਚਪੀ ਕੋਡ ਲਾਗੂ ਨਹੀਂ ਕਰਦਾ ਹੈ ਅਤੇ ਗਲਤੀਆਂ ਨੂੰ ਥੁੱਕਦਾ ਨਹੀਂ 🙄 ਮੇਰੀ ਮਨਪਸੰਦ.

ਤਬਦੀਲੀਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਲਈ ਕੁਝ ਖੋਜ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਮੈਨੂੰ ਹੇਠਾਂ ਵਾਲਾ ਹਵਾਲਾ ਮਿਲਿਆ

ਫਾਸਟਗੀ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇ ਮੁੱਦੇ =============================

nginx ਨੇ ਇੱਕ ਸੋਧਿਆ ਫਾਸਟਕਿਗੀ_ਪੇਰਮ ਭੇਜਿਆ, ਜਿਸ ਨੇ SCRIPT_FILENAME ਫਾਸਟੱਕਗੀ_ਪੈਰਮ ਨੂੰ ਘੋਸ਼ਿਤ ਕੀਤਾ. ਇਹ ਲਾਈਨ ਹੁਣ ਹਟਾ ਦਿੱਤੀ ਗਈ ਹੈ. ਹੁਣ ਤੋਂ ਅਸੀਂ ਅਪਸਟ੍ਰੀਮ ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਫਾਸਟਕਗੀ.ਕਾੱਨਫ ਨੂੰ ਵੀ ਭੇਜ ਰਹੇ ਹਾਂ, ਜਿਸ ਵਿੱਚ ਇੱਕ ਸਮਝਦਾਰ SCRIPT_FILENAME ਮੁੱਲ ਮੁੱਲ ਸ਼ਾਮਲ ਹੈ.

ਇਸ ਲਈ, ਜੇ ਤੁਸੀਂ ਫਾਸਟੱਕਗੀ_ਪਾਰਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਤੁਸੀਂ ਫਾਸਟਕਗੀ.ਕਾੱਨ.ਐੱਫ ਤੇ ਸਵਿਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਹੱਥੀਂ ਸਬੰਧਤ ਪੈਰਾਮਾਂ ਨੂੰ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ.

ਬਿੰਗੋ. ਮੈਂ ਵਰਚੁਅਲ ਹੋਸਟਾਂ ਨੂੰ ਮੋਟਾ ਦਖਲਅੰਦਾਜ਼ੀ ਕਰਨ ਅਤੇ ਸਭ ਕੁਝ ਕੰਮ ਕਰਨ ਦੀ ਬਜਾਏ ਤੇਜ਼ੀ ਨਾਲ ਚਲਾਉਣ ਲਈ ਤੇਜ਼ੀ ਨਾਲ ਚਲਾਇਆ. ਫਿਰ ਮੈਂ 2 ਕੌਨਫਿਗਜ਼ ਵਿੱਚ ਅੰਤਰ ਵੇਖਣ ਲਈ ਇੱਕ ਤੇਜ਼ ਫਰਕ ਨੂੰ ਮਾਰਿਆ

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

ਜਿਸ ਨੇ ਮੈਨੂੰ ਯਾਦ ਦਿਵਾਇਆ ਕਿ ਵਰਚੁਅਲ ਹੋਸਟਾਂ ਵਿੱਚ ਵੱਡੀਆਂ ਕੌਂਫਿਗ੍ਰੇਸ਼ਨਾਂ ਡੋਲ੍ਹਣਾ ਇੱਕ ਠੰਡਾ ਵਿਚਾਰ ਨਹੀਂ ਹੈ. ਇਹ ਮੇਰੇ ਨਗਿਨੈਕਸ ਨੂੰ ਦੁਬਾਰਾ ਕੰਪਾਇਲ ਕਰਨ ਲਈ ਰਹਿੰਦਾ ਹੈ ਐਡ-ਓਨਜ ਦੇ ਨਾਲ ਮੈਂ ਮੋਡ_ਸੇਕ ਚਾਹੁੰਦਾ ਹਾਂ + ਪੇਜਸਪਿੱਡ ਪਰ ਇਹ ਇੰਤਜ਼ਾਰ ਕਰ ਸਕਦਾ ਹੈ. ਇਹ ਕਿਤੇ ਜ਼ਿਆਦਾ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਕਿ ਮੇਰਾ ਨਿਯਮ ਦੁਹਰਾਇਆ ਜਾਂਦਾ ਹੈ ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਤੀਜੇ ਸਰੋਤਾਂ ਤੋਂ ਸਮੀਖਿਆ ਨਹੀਂ ਹੈ ਅਤੇ ਕਸਟਮ ਪ੍ਰਦਰਸ਼ਨ ਪ੍ਰਦਰਸ਼ਨ ਡੇਬੀਅਨ ਡਿਸ-ਅਪਗ੍ਰੇਡ ਤੇ ਨਹੀਂ ਟੁੱਟਦਾ!

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