рдбреЗрдмрд┐рди рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкрд┐рдирд╛рдмрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Django рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛

рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╕реЗрдЯрдЕрдк рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдкрд┐рдирдмрд╛-рдЗрдВрдЬрди + рдкрд┐рдирдмреЛрд░реНрдб + рдбреАрдЬреЗрдВрдЧреЛ-рдкрд┐рдирдмрд╛ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ Django рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб GPLH рдкрд░ GPL рдпрд╛ MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЙрдкрд▓рдмреНрдз рд╣реИред

рдкрд┐рдирдмрд╛ рдХреНрдпреЛрдВ?


рдЯреАрдо рдХреЗ рдкрд╛рд╕ рдРрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИрдВ рдЬреЛ php рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдереЗред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛рдлреА рдЕрдзрд┐рдХ рд╣реИ (200k рд╕реЗ рдЕрдзрд┐рдХ)ред рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрдбрд╝рдЪрдиреЗрдВ рд╣реИрдВред рдЕрдХреНрд╕рд░, рдХрд┐рд╕реА рднреА рдЕрдкрдбреЗрдЯ рдФрд░ рдЗрдиреЛрд╡реЗрд╢рди рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рднрд╛рд░реА рдмреНрд░реЗрдХ рдорд┐рд▓реЗ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрдВ рддреБрд░рдВрдд рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ред рд╣рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рдЧреНрд░рд╛рд╣рдХ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рдУрд░ рдореБрдбрд╝ рдЬрд╛рдПред рдбрд╛рдЙрдирд▓реЛрдбрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╝рд╛рдмрд┐рдХреНрд╕ рдФрд░ рдореБрдирд┐рди рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЙрдкрд╛рдп рдерд╛ред рдпрд╣ рдПрдХ рдкрд┐рдирдмреЛрд░реНрдб рдФрд░ рдкрд┐рдирдмрд╛ рдерд╛ ред рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ django рдкрд░ рдХрддрд╛рдИ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд┐рдирдмрд╛ рдХреЛ рдкреЗрдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред

рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ


рд╕реЗрдЯрдЕрдк рдореЗрдВ рдХрдИ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:
1. рдПрдХ рдирд┐рдЧрд░рд╛рдиреА рд╕рд░реНрд╡рд░ (рдбреЗрдмрд┐рдпрди GNU / рд▓рд┐рдирдХреНрд╕ рдкрд░) рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рдирдмрд╛-рдЗрдВрдЬрди-mysql рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
2. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд┐рдирдмреЛрд░реНрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
3. рдЖрдБрдХрдбрд╝реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП django-pinba рдмреИрдЯрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

1. рдПрдХ рдирд┐рдЧрд░рд╛рдиреА рд╕рд░реНрд╡рд░ (рдбреЗрдмрд┐рдпрди GNU / рд▓рд┐рдирдХреНрд╕ рдкрд░) рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рдирдмрд╛-рдЗрдВрдЬрди-mysql рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


1.1ред рд╣рдо рдкрд┐рдирдмрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХ рд╕реЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рднрдВрдбрд╛рд░ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
# echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list && echo "deb-src http://php53.dotdeb.org stable all" >> /etc/apt/sources.list # gpg --keyserver keys.gnupg.net --recv-key 89DF5277 && gpg -a --export 89DF5277 | sudo apt-key add - # apt-get update && apt-get upgrade -y 

1.2ред MySQL рдФрд░ рдкрд┐рдирдмрд╛-рдЗрдВрдЬрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
 # apt-get install dialog mysql-server -y # apt-get install pinba-engine-mysql-5.5 -y 

1.3ред рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдкрд┐рдирдмрд╛-рдЗрдВрдЬрди-рдорд╕реНрдХрд▓ рдЙрд╕ рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рд╕реБрди рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ:
 # netstat -uln|grep :30002 

2. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд┐рдирдмреЛрд░реНрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


2.1ред рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
 # apt-get install git-core nginx php5-fpm curl php-apc php5-cli php5-mysqlnd vim -y 

2.2ред рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдХреНрд▓реЛрди рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдКрдкрд░ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ:
 # cd /var/www/ && git clone git://github.com/intaro/pinboard.git && cd ./pinboard # git checkout v1.0 # curl -sS https://getcomposer.org/installer | php && php composer.phar install # cp config/parameters.yml.dist config/parameters.yml 

2.3ред рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
 # vim config/parameters.yml 

2.4ред рд╣рдо рдореБрдХреБрдЯ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ:
 # ./console migrations:migrate # ./console register-crontab 

2.5ред Nginx рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
 # touch /etc/nginx/sites-available/pinba.conf && ln -s /etc/nginx/sites-available/pinba.conf /etc/nginx/sites-enabled/ && vim /etc/nginx/sites-enabled/pinba.conf 

2.6ред рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд╛рд▓реЗрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ server_name рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
 server { listen 80; server_name pinboard.example.com; root /var/www/pinboard/web; location = / { try_files @site @site; } location / { try_files $uri $uri/ @site; } location ~ \.php$ { return 404; } location @site { fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/index.php; fastcgi_param HTTPS $https if_not_empty; } location ~ /\.(ht|svn|git) { deny all; } } 

2.7ред рдирдЧрдиреЗрдХреНрд╕ рдбреЗрдореЛрди рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдирд╛:
 # /etc/init.d/nginx restart 

2.8ред Php.ini рдореЗрдВ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдЬреЛрдбрд╝реЗрдВ:
 # sed -i 's/;date.timezone =/date.timezone = Europe\/Moscow/g' /etc/php5/cli/php.ini /etc/php5/fpm/php.ini 

2.9ред рддрд╛рдЬ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
 # /var/www/pinboard/console aggregate 

рдпрджрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд┐рдпрд╛, рддреЛ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрд┐рдирдмреЛрд░реНрдб рд╕реЗрдЯрдЕрдк рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред

3. рдЖрдБрдХрдбрд╝реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП django-pinba рдмреИрдЯрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


3.1ред рдмреИрдЯрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
 $ pip install django-pinba 

3.2ред Settings.py рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ django-pinba рдХреЛ MIDDLEWARE_CLASSES рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
 MIDDLEWARE_CLASSES = ( 'pinba.middleware.PinbaMiddleware', ... ) 

3.3ред рдкрд┐рдирдмрд╛-рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
 PINBA_SERVER = '192.168.55.11' PINBA_PORT = 30002 PINBA_ENABLED = True 

рдпрд╣ рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдорд╛рди рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдВрдХрдбрд╝реЗ рди рд░рдЦреЗрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЕрдм рдЖрдк рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХреЛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдереЛрдбрд╝реА рджреЗрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдЬреЛ рдкрд┐рдирдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕реНрдЯреИрдм рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╕реБрдВрджрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рднрд╛рд░ ab рдпрд╛ wget рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рдЫрд╡рд┐

Source: https://habr.com/ru/post/In200128/


All Articles