2017-01-23 7 views
1

Так мне посоветовали использовать WSGI вместо CGI, поэтому я попытался установить его со следующими настройками для базового примера без Джанго:апач - WSGI - Python - простой пример

спецификации :

  • Linux Kubuntu, апач 2.4, питон 3,5
  • апач работает, установлен mod_wsgi и включен
  • веб-сайт файлы находятся в корневом/вар/WWW/HTML /, у меня есть доступ SUDO к этой папке
  • путь питона 3.5 USR/бен/окр python3
  • питон скрипт: «index.py, простейший из скриптов , был сделан исполняемым
  • питон исполняемыми живет в корневой/вар/WWW/скрипты

вопросы:

  • как мне сделать эту функцию выплюнуть ее

  • Что такое сделка с этим скриптом wsgi? У меня нет необходимости в том, что я не хочу никаких расширений WSGI

  • , что апач директивы мне нужно ввести, чтобы запустить сценарий
  • Так где же жить функцию «приложение»?

Действительно потерял в этой WSGI идеи, некоторые разъяснения могут помочь

+0

использование 'Flask',' Bottle' и т.д. Web Framework и создавать веб-страницы. У них есть встроенный сервер, поэтому вам не нужен Apache при запуске. – furas

+0

Вы пытались получить доступ к index.py из браузера? Если да, то какой результат вы получите? –

+0

@furas: Я намеренно не хочу использовать какой-либо веб-фреймворк – hewi

ответ

0

так что давайте начнем с того, что я знаю и хочу, используя минималистичный подход:

самый полезный информацию, полученную изshellhacks.com и modwsgi.readthedocs.io

  • Загрузить последний модуль mod-wsgi module от here и извлечь
  • $ ./configure --with-питона =/USR/местные/бен/python3.5
  • $ сделать
  • $ Sudo сделать установку
  • $ CD и т.д./apache2/модов доступный/
  • $ Sudo кейт wsgi.load

LoadModule wsgi_module модули/mod_wsgi.so

  • $ Sudo a2enmod WSGI apache2 перезагрузка
  • $ Sudo сервис

  • место следующая «искрой.Сценарий PY»в корневую папку документов Апача (который является корнем/вар/WWW/HTML для меня), используя ваш любимый текстовый редактор (который в данном случае является Кейт для меня)

    $ kate /var/www/html/spark.py 
    
    def application(environ, start_response): 
        status = '200 OK' 
        output = b'Hello World!\n' 
        response_headers = [('Content-type', 'text/plain'), 
           ('Content-Length', str(len(output)))] 
        start_response(status, response_headers) 
        return [output] 
    
  • добавить директиву псевдонима WSGI сценарий к Etc/apache2/сайтов-доступных/000-default.conf

    $ sudo kate etc/apache2/sites-available/000-default.conf 
    
    <VirtualHost *:80> 
        #lots and lots of comments 
        some actual directives 
        like DocumentRoot /var/www/html 
    
        # more comments 
        more directives 
    
        # and all the way at the end 
        # THE ACTUAL DIRECTIVE 
        WSGIScriptAlias//var/www/html/spark.py 
    
    </VirtualHost> 
    
  • $ рестарт Sudo службы апач

  • просмотра на локальный (если вы настроены на локальном сервере Apache), и вы должны увидеть самые известные слова во всей истории программирования и человек делает его чувствовать себя хорошо, чтобы увидеть тех, кто:)

что необходимо сделать: создать приложение, указать сценарий, что ...