2016-11-18 2 views
1

enter image description hereколба: Запрошенный URL не найден на этом сервере

Я работаю с общей учетной записи хостинга, который использует Apache 2.4, пытаясь развернуть приложение склянки с помощью http://fgimian.github.io/blog/2014/02/14/serving-a-python-flask-website-on-hostmonster. Я поставил код и сценарий FCGI в папке public_html Содержимое папки находятся в скриншоте выше:

Сценарий manage_apache.fcgi является:

#!/home/username/anaconda2/bin/python 
import sys,os 
from flup.server.fcgi import WSGIServer 
sys.path.insert(0, '/home/username/public_html') 
from myflaskapp.settings import Config, SharedConfig 
from myflaskapp.app import create_app 

if __name__ == '__main__': 
    app = create_app(SharedConfig) 
    WSGIServer(app).run() 

Я добрался до последней стадии и во время тестирования его в командной строке с помощью шпатлевки SSH в:

[~/public_html]# ./manage_apache.fcgi 

Я вижу правильный веб-страница генерируется, поэтому я предполагаю, что быстрый CGI поддерживается моим хозяином. Я не получаю ошибок на python.

Файл .htaccess из статьи:

AddHandler fcgid-script .fcgi 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ manage_apache.fcgi/$1 [QSA,L] 

В браузере, когда я занимаюсь серфингом в mysite.org я получаю

Not Found 

The requested URL /manage_apache.fcgi/ was not found on this server. 

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. 

согласно поддержки Файл .htaccess перенаправляет to manage_apache.fcgi/$ 1

-rwxr-xr-x 1 myusername myusername Nov 22 17:26 manage_apache.fcgi* 

Как это исправить?

ответ

1

Я подозреваю, что fcgi не поддерживается на этом хосте. Просто потому, что хост позволяет запускать сценарий Python в командной строке, это не значит, что они настроили mod_fcgi в Apache.

Попробуйте следующее: apachectl -t -D DUMP_MODULES | grep cgi. Вы должны увидеть fcgi_module или fastcgi_module, или, возможно, cgi_module.

Если вы видите только cgi_module, то вы должны уметь использовать AddHandler cgi-script .py вместо AddHandler fcgid-script .fcgi.

Если вы не видите ни одного из них, вы можете попробовать wsgi: apachectl -t -D DUMP_MODULES | grep wsgi. Если вы видите wsgi_module, то вы знаете, что можете использовать wsgi. В этот момент you might be able to follow instructions here under .htaccess.

+0

Спасибо за ответы. Я попробовал: «apachectl -t -D DUMP_MODULES» и получил -bash: apachectl: команда не найдена. Я могу попросить людей поддержки запустить это для меня, но есть ли другой способ получить эту информацию? – user61629

+0

Вам лучше попросить людей поддержки подтвердить, что вы используете Apache и говорите, включен ли CGI или FCGI. – cwallenpoole

+0

Они сказали, что ни CGI, ни FCGI не включены. – user61629

2

Подозревает

sys.path.insert(0, '/home/username/public_html') 

абсолютный путь, но приложение колбы смотрит на относительном пути по отношению к колбе шлюза, и не может найти его.

Вы пытались обернуть библиотеки в экземпляре приложения - переместить абсолютный путь в экземпляр приложения?

В качестве примера см http://werkzeug.pocoo.org/: от werkzeug.wrappers импорт запроса, ответ

@Request.application 
def application(request): 
    return Response('Hello World!') 

if __name__ == '__main__': 
    from werkzeug.serving import run_simple 
    # move absolute path here 
    run_simple('localhost', 4000, application) 
+0

Спасибо, что посмотрели на это. Что вы подразумеваете под «# переместить абсолютный путь здесь»? Означает ли это sys.path.insert (0, '/ home/username/public_html') – user61629

+0

Это макет, взятый из оболочки WSGI, вы должны его адаптировать. Попробуйте импортировать пути и модули wsgi в самом приложении модуля. Альтернативой является использование шаблонов флагов, которые позволяют вам обслуживать файлы в «общедоступных» статических папках - общедоступных относительно пути вашего приложения. В этих ссылках показано, как обслуживать файлы из загрузчика файловой системы: https://buxty.com/b/2012/05/custom-template-folders-with-flask/ также смотрите: http://flask.pocoo.org/docs /0.11/tutorial/folders/ и http://stackoverflow.com/a/28758723/305883 могут помочь вам с логикой. Извините, я не могу больше сделать для своего ноутбука сейчас под управлением:/ – user305883

+0

Спасибо, я начну читать ссылки. – user61629

Смежные вопросы