我在本地CentOS 7开发堆栈中的烧瓶应用程序中使用jac没有问题,但是我无法将其部署到AWS EB实例:浏览器GET请求没有得到任何回复。
AWS EB / var / log / httpd / access_log只重复此行约一百次:
127.0.0.1 (-) - - [12/Apr/2016:19:54:11 +0000] "GET / HTTP/1.1" 301 243 "-" "Python-urllib/2.7"
并且最后:
xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) - - [12/Apr/2016:19:55:35 +0000] "GET / HTTP/1.1" 301 247 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
所以在github jac存储库中有一个requirement.txt 如下:
Jinja2
beautifulsoup4==4.3.2
rjsmin==1.0.10
ordereddict==1.1
six==1.9.0
但是我没有添加任何内容,因为所有上述行都包含在我从pip冻结获得的requirements.txt文件中。
我认为问题可能是缺少较少的库,因为我有一些css要压缩,所以我将以下内容添加到.ebextensions:
commands:
01-install-nodejs-npm:
command: yum install -y --enablerepo=epel nodejs npm
02-install-less:
command: npm install -g less
但这并未解决问题。
我认为代码没有问题,因为它适用于开发环境,但为了确保,以下几行在flaskApp init .py中:
app.config['COMPRESSOR_DEBUG'] = app.config.get('DEBUG')
app.config['COMPRESSOR_OUTPUT_DIR'] = './flaskApp/static/mydomain-dev'
app.config['COMPRESSOR_STATIC_PREFIX'] = '/static/mydomain-dev'
jac = JAC(app)
env = jinja2.Environment(extensions=[CompressorExtension])
env.compressor_output_dir = './flaskApp/static/mydomain-dev'
env.compressor_static_prefix = '/static/mydomain-dev'
#env.compressor_source_dirs = './flaskApp/staticLib/'
我被困在这一点上。
CentOS venv应用程序与AWS应用程序之间的唯一区别在于,由于应用程序使用flask_sslify,因此AWS上的每个请求都会重定向到https(因为如果app.debug = True,flask_sslify将无法重定向,因此不在CentOS中)。 / p>
请问好吗?
答案 0 :(得分:0)
你正在为烧瓶做一个配置,为jinja做一个配置(当独立使用时)。 删除这些行:
env = jinja2.Environment(extensions=[CompressorExtension])
env.compressor_output_dir = './flaskApp/static/mydomain-dev'
env.compressor_static_prefix = '/static/mydomain-dev'
让JAC(app)
配置它。
但是,JAC不会发出任何301,因为它不知道任何路由和东西(我需要检查代码,因为我暂时不检查它)。
该页面重定向到哪里?