Форум сайта python.su
0
Здравстуйте закидываю сайт на хост - выдает ошибку:
... * Serving Flask app "main" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) ...
<VirtualHost *:80> ServerAdmin webmaster@site ServerName site WSGIScriptAlias / /var/www/domains/site/wsgi.py WSGIProcessGroup site WSGIScriptReloading On WSGIPassAuthorization On <Directory "/var/www/domains/site/"> Require all granted </Directory> <Directory "/var/www/domains/site/static/"> Require all granted </Directory> Alias /static "/var/www/domains/site/static" </VirtualHost>
Отредактировано dbalor (Окт. 29, 2019 07:34:51)
Офлайн
0
Настроил wsgi - запустил.
теперь в логах выдает ошибку
AH01276: Cannot serve directory /var/www/.../: No matching DirectoryIndex (index.html,index.html,index.html.var,index.php,index.phtml) found, and server-generated directory index forbidden by Options directive
<VirtualHost 0.0.0.0:80> ServerName site ServerAlias *.site CustomLog /var/log/httpd/site.access_log combined ErrorLog /var/log/httpd/site.error_log DocumentRoot /var/www/domains/site WSGIDaemonProcess user=umy group=mysite threads=5 WSGIScriptAlias /site /var/www/domains/site/mysite.wsgi <Directory /var/www/domains/site> WSGIApplicationGroup %{GLOBAL} WSGIScriptReloading On Require all granted </Directory> </VirtualHost>
Отредактировано dbalor (Ноя. 3, 2019 05:16:08)
Офлайн
0
Вот мой wsgi скрипт(mysite.wsgi):
from moysite import app as application import sys sys.path.insert(0, '/var/www/domains/site/') activate_this = '/var/www/domains/site/mysite/bin/activate_this.py' execfile(activate_this, dict(__file__=activate_this))
Отредактировано dbalor (Ноя. 4, 2019 00:39:51)
Офлайн
20
Лично мне лень разбраться, так что просто оставлю несколько тезисов.
1. Я никогда не использовал .wsgi (отдельно запускал backend с локальным портом) и никогда не разрешал Apache читать что-то реальное из ФС. У тебя весь код, конфиги и пр. выложены в публичный доступ или легко могут стать публичными, для меня это дикость. У меня всегда DocumentRoot указывает на пустую директорию, если очень надо, то там размещается только статика.
2. Впервые вижу такой финт “activate_this.py”. Почему не сделать как у белых людей “#!…/bin/python”?
3. У тебя “WSGIScriptAlias” задан для URL “/site”? Какой адрес не открывается? Корень, так он и не должен открываться без “index.html” или другой хрени. “http:/domain/site” тоже не открывается? Помнишь путь “/cgi-bin/”?
4. Смотри версии модулей, апачей и возраст рецептов, пробуй другие рецепты, не очень умно упереться рогом только в один. У кого-то 10 лет назад случайно получилось, а ты следуешь его примеру, хотя сам автор не понял что произошло. Вот пример для Graphite: https://graphite.readthedocs.io/en/latest/config-webapp.html. Но вместо тупого копирования, читай про каждый параметр.
Удачи.
Офлайн
568
Кто вообще надоумил запускать питоний сайт под Апачем?
Офлайн
0
FishHookХост такой
Кто вообще надоумил запускать питоний сайт под Апачем?
Офлайн
20
По ссылке "WSGIScriptAlias / /var/www/…“, а не ”WSGIScriptAlias /site /var/www/…", если что :-). Попробуй подкинуть ему index.html, куда хочет, для проверки. Может где-то прав на доступ к директории не хватает или ещё чего.
Офлайн
0
bw
По ссылке “WSGIScriptAlias / /var/www/…“, а не ”WSGIScriptAlias /site /var/www/…”, если что :-). Попробуй подкинуть ему index.html, куда хочет, для проверки. Может где-то прав на доступ к директории не хватает или ещё чего.
Офлайн
20
Что значит не пашет?
Адрес /site открывается (в старой конф.)?
Офлайн
0
Открывается, спасибо разобрался! Заработало!
Отдельное спасибо bw
Офлайн