Форум сайта python.su
Здравстуйте закидываю сайт на хост - выдает ошибку:
... * 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)
Офлайн
Настроил 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)
Офлайн
Вот мой 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)
Офлайн
Лично мне лень разбраться, так что просто оставлю несколько тезисов.
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. Но вместо тупого копирования, читай про каждый параметр.
Удачи.
Офлайн
Кто вообще надоумил запускать питоний сайт под Апачем?
Офлайн
FishHookХост такой
Кто вообще надоумил запускать питоний сайт под Апачем?
Офлайн
По ссылке "WSGIScriptAlias / /var/www/…“, а не ”WSGIScriptAlias /site /var/www/…", если что :-). Попробуй подкинуть ему index.html, куда хочет, для проверки. Может где-то прав на доступ к директории не хватает или ещё чего.
Офлайн
bw
По ссылке “WSGIScriptAlias / /var/www/…“, а не ”WSGIScriptAlias /site /var/www/…”, если что :-). Попробуй подкинуть ему index.html, куда хочет, для проверки. Может где-то прав на доступ к директории не хватает или ещё чего.
Офлайн
Что значит не пашет?
Адрес /site открывается (в старой конф.)?
Офлайн
Открывается, спасибо разобрался! Заработало!
Отдельное спасибо bw
Офлайн