Запускаем англоязычную версию Прогопедии — свободной энциклопедии языков программирования —
progopedia.com.
Сайт еще в стадии альфа-версии, не хватает описаний многих популярных языков программирования, движок определенно требует доработки — но для начала неплохо, я думаю.
Сайт использует
Django (естественно),
Markdown (при помощи
http://pypi.python.org/pypi/Markdown/) в качестве языка разметки,
Pygments для подсветки синтаксиса,
django-reversion для контроля версий,
DISQUS и
django-disqus для комментариев.
Отзывы и комментарии приветствуются. Кто хочет присоединиться к
progopedia.com в качестве редактора —
присоединяйтесь :-)
Небольшая заметка для себя и для тех, кто все еще использует mod_python.
Для использования virtualenv с mod_python нужно создать файл в virtualenv bin директории, например, myvirtualdjango.py:
#myvirtualdjango.py
activate_this = '/home/django/progopedia.ru/ve/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
from django.core.handlers.modpython import handler
В конфигурационном файле apache в PythonPath нужно добавить bin директорию virtualenv и установить для PythonHandler значение myvirtualdjango (пример скопирован из реального httpd.conf):
<VirtualHost 127.0.0.1:81>
ServerName progopedia.ru
ServerAdmin admin@progopedia.ru
<Location "/">
SetHandler python-program
PythonPath "['/home/django/progopedia.ru/ve/bin', '/home/django/progopedia.ru/src/progopedia_ru_project/'] + sys.path"
PythonHandler myvirtualdjango
SetEnv DJANGO_SETTINGS_MODULE settings
SetEnv PYTHON_EGG_CACHE /var/tmp/egg
PythonInterpreter polyprog_ru
</Location>
</VirtualHost>
Я делаю на Django Энциклопедию языков программирования. За время работы сайта выяснилось, что нужен свой выделенный сервер для большей производительности и стабильности. Пока что взял дешевый сервер с 1.8 ГГц процессором и 512 Мб памяти.
В этой статье я расскажу об установке и настройке на этом сервере Django с mod_python для Apache, с кэшированием memcached и lighttpd для статических файлов.