<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D0%BF%D0%BE%D0%B4_Python_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B</id>
	<title>Настройка сервера под Python проекты - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D0%BF%D0%BE%D0%B4_Python_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D0%BF%D0%BE%D0%B4_Python_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B&amp;action=history"/>
	<updated>2026-10-12T10:04:23Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://mediawiki.zina.run/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D0%BF%D0%BE%D0%B4_Python_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B&amp;diff=587&amp;oldid=prev</id>
		<title>&gt;WikiSysop в 13:55, 17 липня 2019</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D0%BF%D0%BE%D0%B4_Python_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B&amp;diff=587&amp;oldid=prev"/>
		<updated>2019-07-17T13:55:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Собираем python==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz&lt;br /&gt;
tar -xf Python-2.7.12.tar.xz&lt;br /&gt;
rm Python-2.7.12.tar.xz&lt;br /&gt;
mv Python-2.7.12 python-2.7.12&lt;br /&gt;
cd python-2.7.12/&lt;br /&gt;
PYTHON_VERSION=2.7.12&lt;br /&gt;
PYTHONPATH=/opt/python-${PYTHON_VERSION}&lt;br /&gt;
./configure --enable-shared --with-system-ffi --with-system-expat --enable-unicode=ucs4 --prefix=${PYTHONPATH} LDFLAGS=&amp;quot;-L${PYTHONPATH}/extlib/lib -Wl,--rpath=${PYTHONPATH}/lib -Wl,--rpath=${PYTHONPATH}/extlib/lib&amp;quot; CPPFLAGS=&amp;quot;-I${PYTHONPATH}/extlib/include&amp;quot;&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Собираем uwsgi вебсервер==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
git clone https://github.com/unbit/uwsgi.git&lt;br /&gt;
cd uwsgi/&lt;br /&gt;
make PROFILE=nolang&lt;br /&gt;
PYTHON=/opt/python-2.7.12/bin/python ./uwsgi --build-plugin &amp;quot;plugins/python python27&amp;quot;&lt;br /&gt;
./uwsgi --build-plugin &amp;quot;plugins/gevent&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Собираем php если нужно==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
wget http://ua2.php.net/distributions/php-5.3.29.tar.gz &amp;amp;&amp;amp; tar -xf php-5.3.29.tar.gz &amp;amp;&amp;amp; rm php-5.3.29.tar.gz &amp;amp;&amp;amp; cd php-5.3.29/&lt;br /&gt;
./configure --enable-debug --prefix=/opt/php-5.3.29 --enable-exif --enable-ftp --with-gd --with-mcrypt --with-mysqli --with-mysql --with-pdo-mysql --enable-embed --enable-mbstring --with-curl --enable-zip --with-zlib --with-jpeg-dir=/usr/lib64&lt;br /&gt;
make -j&lt;br /&gt;
make install&lt;br /&gt;
cd /opt/uwsgi&lt;br /&gt;
LD_LIBRARY_PATH=/opt/php-7.0.11/lib LIBRARY_PATH=/opt/php-7.0.11/lib UWSGICONFIG_PHPDIR=/opt/php-7.0.11 /usr/bin/python uwsgiconfig.py --plugin plugins/php default php70&lt;br /&gt;
LD_LIBRARY_PATH=/opt/php-5.6.26/lib LIBRARY_PATH=/opt/php-5.6.26/lib UWSGICONFIG_PHPDIR=/opt/php-5.6.26 /usr/bin/python uwsgiconfig.py --plugin plugins/php default php56&lt;br /&gt;
LD_LIBRARY_PATH=/opt/php-5.3.29/lib LIBRARY_PATH=/opt/php-5.3.29/lib UWSGICONFIG_PHPDIR=/opt/php-5.3.29 /usr/bin/python uwsgiconfig.py --plugin plugins/php default php53&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Конфигурация uwsgi==&lt;br /&gt;
Делаем init скрипт.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /etc/init&lt;br /&gt;
vim uwsgi.conf&lt;br /&gt;
```&lt;br /&gt;
#emperor startup script&lt;br /&gt;
description &amp;quot;uWSGI Emperor&amp;quot;&lt;br /&gt;
start on runlevel [2345]&lt;br /&gt;
stop on runlevel [06]&lt;br /&gt;
exec /opt/uwsgi/uwsgi --binary-path /opt/uwsgi/uwsgi --emperor /etc/uwsgi/apps --emperor-stats :1717 --die-on-term --uid apache --gid apache --logto /var/log/uwsgi/emperor.log&lt;br /&gt;
```&lt;br /&gt;
mkdir /var/log/uwsgi&lt;br /&gt;
mkdir /etc/uwsgi/ /etc/uwsgi/apps&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Запуск сайта==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
su -s /bin/bash torgashovocom&lt;br /&gt;
cd ~/www/torgashovo.com&lt;br /&gt;
virtualenv -p /opt/python-2.7.12/bin/python venv&lt;br /&gt;
#в файле прописуем зависимости проекта в формате pip&lt;br /&gt;
vim requerments.txt&lt;br /&gt;
```&lt;br /&gt;
Django==1.10&lt;br /&gt;
django-cleanup==0.4.2&lt;br /&gt;
django-constance==1.2&lt;br /&gt;
django-crispy-forms==1.6.0&lt;br /&gt;
django-debug-toolbar==1.5&lt;br /&gt;
django-filter==0.14.0&lt;br /&gt;
django-picklefield==0.3.2&lt;br /&gt;
django-pipeline==1.6.8&lt;br /&gt;
django-rosetta==0.7.12&lt;br /&gt;
git+https://github.com/shmel210/django.js#egg=django.js&lt;br /&gt;
easy-thumbnails==2.3&lt;br /&gt;
Fabric==1.12.0&lt;br /&gt;
gevent==1.1.2&lt;br /&gt;
gevent-socketio==0.3.6&lt;br /&gt;
gevent-websocket==0.9.5&lt;br /&gt;
greenlet==0.4.10&lt;br /&gt;
jsonate==0.4.0&lt;br /&gt;
jsonfield==1.0.3&lt;br /&gt;
lorem-ipsum-generator==0.3&lt;br /&gt;
lxml==3.6.1&lt;br /&gt;
MySQL-python==1.2.5&lt;br /&gt;
Pillow==3.3.0&lt;br /&gt;
pytils==0.3&lt;br /&gt;
pytz==2016.6.1&lt;br /&gt;
requests==2.11.0&lt;br /&gt;
six==1.10.0&lt;br /&gt;
socketIO-client==0.7.0&lt;br /&gt;
transliterate==1.8.1&lt;br /&gt;
websocket-client==0.37.0&lt;br /&gt;
```&lt;br /&gt;
venv/bin/pip install -r requerments.txt&lt;br /&gt;
&lt;br /&gt;
mkdir -m 777 tmp logs tasks&lt;br /&gt;
&lt;br /&gt;
vim .gitignore&lt;br /&gt;
```&lt;br /&gt;
node_modules/**&lt;br /&gt;
*.pyc&lt;br /&gt;
*.sock&lt;br /&gt;
*.pid&lt;br /&gt;
/venv/*&lt;br /&gt;
/public/**&lt;br /&gt;
/cache/*&lt;br /&gt;
/logs/*&lt;br /&gt;
/tmp/*&lt;br /&gt;
/tasks/*&lt;br /&gt;
.idea&lt;br /&gt;
/src/torgashovo/local_settings.py&lt;br /&gt;
*.sublime-*&lt;br /&gt;
/conf/local_uwsgi.ini&lt;br /&gt;
nohup.out&lt;br /&gt;
*___jb_bak___&lt;br /&gt;
*.bak&lt;br /&gt;
/webstat/*&lt;br /&gt;
.~lock.*&lt;br /&gt;
*.swp&lt;br /&gt;
!.gitkeep&lt;br /&gt;
/fabric_settings.json&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
#возвращаемся  к пользователю root&lt;br /&gt;
Ctrl+D&lt;br /&gt;
cd /etc/uwsgi/apps&lt;br /&gt;
vim torgashovo.ini &lt;br /&gt;
```&lt;br /&gt;
[uwsgi]&lt;br /&gt;
plugins-dir = /opt/uwsgi&lt;br /&gt;
plugin = python27&lt;br /&gt;
# variables&lt;br /&gt;
project_name = torgashovo&lt;br /&gt;
project_domain = %(project_name).com&lt;br /&gt;
root = /var/www/torgashovocom/data/www/torgashovo.com&lt;br /&gt;
`&lt;br /&gt;
# main config&lt;br /&gt;
venv = %(root)/venv&lt;br /&gt;
chdir = %(root)/src&lt;br /&gt;
pythonpath = %(root)/src&lt;br /&gt;
module = %(project_name).wsgi:application&lt;br /&gt;
uid = apache&lt;br /&gt;
gid = apache&lt;br /&gt;
master = true&lt;br /&gt;
lang = ru_RU.utf8&lt;br /&gt;
env = LANG=ru_RU.utf8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# control&lt;br /&gt;
pidfile = %(root)/tmp/%(project_name).pid&lt;br /&gt;
socket = %(root)/tmp/%(project_name).sock&lt;br /&gt;
stats = %(root)/tmp/%(project_name).stats.sock&lt;br /&gt;
#chown-socket = apache:apache&lt;br /&gt;
touch-reload = %(root)/logs/reload.txt&lt;br /&gt;
logto = %(root)/logs/uwsgi.log&lt;br /&gt;
vacuum = true&lt;br /&gt;
&lt;br /&gt;
# perfomance&lt;br /&gt;
processes = %k&lt;br /&gt;
enable-threads = true&lt;br /&gt;
threads = 4&lt;br /&gt;
cache2 = name=%(project_name),items=1000&lt;br /&gt;
spooler = %(root)/tasks&lt;br /&gt;
spooler-import = %(root)/src/notifications/tasks.py&lt;br /&gt;
harakiri = 20&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
&lt;br /&gt;
# async&lt;br /&gt;
offload-threads = %k&lt;br /&gt;
attach-daemon = %(root)/venv/bin/python %(root)/src/manage.py runserver_socketio&lt;br /&gt;
&lt;br /&gt;
#cron jobs&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
#настраиваем nginx (фронтенд сервер). Идем /manager/ www домены-выбрать домен-конфиг (иконка с права вверху) - nginx&lt;br /&gt;
```&lt;br /&gt;
    server {&lt;br /&gt;
        server_name torgashovo.com www.torgashovo.com;&lt;br /&gt;
        listen 77.120.120.73;&lt;br /&gt;
        charset UTF-8;&lt;br /&gt;
        set $root_path /var/www/torgashovocom/data/www/torgashovo.com;&lt;br /&gt;
        root $root_path;&lt;br /&gt;
        access_log /var/www/httpd-logs/torgashovo.com.access.log;&lt;br /&gt;
        error_log /var/www/httpd-logs/torgashovo.com.error.log notice;&lt;br /&gt;
        location /public/ {&lt;br /&gt;
            access_log off;&lt;br /&gt;
            expires 10d;&lt;br /&gt;
        }&lt;br /&gt;
        location /static/ {&lt;br /&gt;
            alias $root_path/public/static/;&lt;br /&gt;
            access_log off;&lt;br /&gt;
            expires 10d;&lt;br /&gt;
        }&lt;br /&gt;
        location /media/ {&lt;br /&gt;
            alias $root_path/public/media/;&lt;br /&gt;
            access_log off;&lt;br /&gt;
            expires 10d;&lt;br /&gt;
        }&lt;br /&gt;
        location /robots.txt {&lt;br /&gt;
            access_log off;&lt;br /&gt;
        }&lt;br /&gt;
        location / {&lt;br /&gt;
            include uwsgi_params;&lt;br /&gt;
            uwsgi_pass unix://$root_path/tmp/torgashovo.sock;&lt;br /&gt;
            proxy_set_header Host $host;&lt;br /&gt;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
            proxy_set_header X-Forwarded-Proto $scheme;&lt;br /&gt;
            proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
        }&lt;br /&gt;
        location ^~ /webstat/ {&lt;br /&gt;
            auth_basic &amp;quot;Restricted area&amp;quot;;&lt;br /&gt;
            auth_basic_user_file /var/www/torgashovocom/data/etc/114032647.passwd;&lt;br /&gt;
            try_files $uri @fallback;&lt;br /&gt;
        }&lt;br /&gt;
        include /usr/local/ispmgr/etc/nginx.inc;&lt;br /&gt;
    }&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
#запускаем сервер&lt;br /&gt;
initctl stop uwsgi&lt;br /&gt;
initctl start uwsgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>&gt;WikiSysop</name></author>
	</entry>
</feed>