Установка веб-фреймворка flask на виртуальном хостинге
Автор:
На виртуальном хостинге ограниченно изменение глобальной системной директории /usr/lib/python2.6/site-packages, поэтому ключевым моментом станет использование virtualenv. Virtualenv как раз позволит создать изолированную среду разработки приложений на Python в вашем домашнем каталоге. Для установки virtualenv качаем архив:
curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.tar.gz tar xvfz virtualenv-1.9.tar.gz cd virtualenv-1.9
Теперь, имея в распоряжении virtualenv, можно создать изолированную среду разработки:
python virtualenv.py ~/myenv
Результатом исполнения данной команды станет появление в домашней директории папки myenv, содержащей папки bin, include, lib, lib64.
Итак, изолированная среда разработки у нас есть. Осталось сообщить об этом системной оболочке. В домашнем каталоге создаём файл .bashrc:
cd ~/ touch .bashrc
И добавляем в него следующие строки:
source ~/myenv/bin/activate
Теперь выполним:
source ~/myenv/bin/activate
В следствие данных манипуляций, набирая в коммандной строке, например, python, запускается не общесистемный интерпретатор python'а , а тот, что лежит в вашей директории ~/myenv/bin. В качестве проверки того, всё ли было сделано правильно, наберите:
which python
Если в ответ вы увидите ~/myenv/bin/python , то всё прошло удачно. Если /usr/bin/python , то следует проверить корректность .bashrc и выполнить source .bashrc
Итак, платформа подготовлена. Пришло время установить фреймворк для разработки веб-приложений. Нам понадобится модуль flup и django/flask.
pip install flup pip install flask
Проверим прошла ли установка успешно. Вызываем интерпретатор python:
python
В интерпретаторе введём:
import flask
Если Вы не увидели сообщения "ImportError: No module named flask", то всё хорошо и flask установлен. Кстати, посмотреть установелнную версию flask Вы можете введя в интерпретаторе:
import flask flask.__version__
Готовимся к запуску первого приложения.
переходим в папку вашего сайта:
cd flasktest.atservers.net
Назовём наше приложение yourapplication.py
touch yourapplication.py
Содержание будет примерно следующим:
from flask import Flask app = Flask(__name__) app.debug = False
Cоздаём здесь файл .htaccess и вносим в него следующие строчки:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /cgi-bin/yourapplication.fcgi/$1 [QSA,L]
Теперь перейдём в папку cgi-bin:
cd cgi-bin/ создадим здесь файл yourapplication.fcgi:
#(ниже нужно заменить путь к Вашему интерпретатору python)
#!/home/flasktest/myenv/bin/python # -*- coding: utf-8 -*- import sys, os
# Add a custom Python path. sys.path.insert(0, "/home/flasktest/www/flasktest.atservers.net")
# Switch to the directory of your project. (Optional.) os.chdir("/home/flasktest/www/flasktest.atservers.net")
from flup.server.fcgi import WSGIServer from yourapplication import app
if __name__ == '__main__': WSGIServer(app).run()
* Здесь вместо "/home/flasktest/www/flasktest.atservers.net" нужно будет указать путь к Вашему сайту.
Изменим права доступа для yourapplication.fcgi:
chmod 755 yourapplication.fcgi
В адресной строке своего браузера введите название своего проекта. Например, для данного мануала это flasktest.atservers.net Если вы увидели Hello Active! , значит Ваше приложение работает.
OK
⇄
Detect language » Russian
⇄
Detect language » Russian
⇄
Detect language » Russian
⇄
Detect language » Russian
Если решение вопроса найти не удалось, Вы можете отправить нам заявку: