Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Веб-разработка и фреймворки > webpy + wsgi не работает


Автор: rainz 25.9.2012, 21:33
установил апач wsgi + python. настроил виртуальный хост под апач:

Код

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/vince/project/webpy.test
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/vince/project/webpy.test/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

        WSGIScriptAlias /webpy.test /home/vince/project/webpy.test/code.py/

        Alias /webpy.test /home/vince/project/webpy.test/static
        AddType text/html .py

        <Directory /home/vince/project/webpy.test>
                Order deny,allow
                Allow from All
        </Directory>


    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


но он мне NotFound выдает.. может кто подскажет в чем проблема?

Автор: bilbobagginz 27.9.2012, 15:40
вот это странно:
Код

WSGIScriptAlias /webpy.test /home/vince/project/webpy.test/code.py/

(ненужный слэш в конце)

Кроме того, принято скрипты обрабатываемы WSGI обзывать не .py а .wsgi

Автор: rainz 27.9.2012, 17:31
в документации написан слэш, в видео на ютубе у одного испанского кодера тоже есть.. ну а с расширением сейчас попробую

Автор: bilbobagginz 27.9.2012, 23:39
судя по документации, ты не должен делать что-то либо КРОМЕ ТОГО, что там написано, т.е.:

Configure Apache to load mod_wsgi module and your project in httpd.conf:
Код

  LoadModule wsgi_module modules/mod_wsgi.so

  WSGIScriptAlias /appname /var/www/webpy-app/code.py/

  Alias /appname/static /var/www/webpy-app/static/
  AddType text/html .py

  <Directory /var/www/webpy-app/>
      Order deny,allow
      Allow from all
  </Directory>


ты же изменил DocumentRoot, и еще 10 бочек арестантов.
насколько я понимаю, если у тебя скрипты ПОД DocumentRoot, это уже перверсия, т.к. под докрутом должны быть в  принципе статические файлы.


Автор: rainz 1.10.2012, 19:39
Все сделал как у чувака на видео, имена, пути, все совпадает.. все с нуля.. все равно выдает Not Found..
http://www.youtube.com/watch?v=UCZI-bjtUxE - видео по установке и настройке с нуля..
Код

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    WSGIScriptAlias /main /var/www/webpy-app/main.py/
    
    Alias /main/static /var/www/webpy-app/static/
    AddType text/html .py

    <Directory /var/www/webpy-app/>
        Order deny,allow
        Allow from All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


очень хочется начать работу с этим фреймворком, но не под стандартным python main.py.. потому что рано или поздно проект придется перемещать на VDS

Автор: bilbobagginz 9.10.2012, 22:09
rainz, привет.
Давай согласимся: что-то ты сделал не так.
ты определил виртуальный хост, ты скопировал конфиги, по умолчанию.
судя по твоим конфигам, ты должен быть способен пойти на http://hostname/main

Где ты загрузил WSGI модуль ? (LoadModule wsgi_module modules/mod_wsgi.so) ?
на какой URL ты стучишься ?
какие ошибки выходят в дневниках ?

Автор: jsse 12.10.2012, 23:33
Попробуй прописать в конфиге хоста apache ServerName
Например

Код

ServerName 127.0.0.1

Автор: shutffl 23.10.2012, 13:47
Вот что я использую у себя во всех(!) проектах. Все прекрасно работает. Косяков не было ни разу.

Код

<VirtualHost *:80>
    ServerName <YOUR_DOMAIN_NAME>
    ServerAlias www.<YOUR_DOMAIN_NAME>
    DocumentRoot /home/web/domains/<YOUR_DOMAIN_NAME>
    ServerAdmin shatfel@<YOUR_DOMAIN_NAME>
    ErrorLog logs/<YOUR_DOMAIN_NAME>-error_log
    CustomLog logs/<YOUR_DOMAIN_NAME>-access_log common

    <Directory /home/web/domains/<YOUR_DOMAIN_NAME>>
        Options -Indexes ExecCGI FollowSymLinks
    </Directory>

    WSGIScriptAlias / /home/web/domains/<YOUR_DOMAIN_NAME>/index.py/
    Alias /static /home/web/domains/<YOUR_DOMAIN_NAME>/static/
    AddType text/html .py

</VirtualHost>


Где <YOUR_DOMAIN_NAME> - сайт вида: mysite.su.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)