Python 如何设置Gcloud Flex环境自定义容器pylibmc
我正在尝试为我的应用程序设置memcached。 在本地,它工作得很好 现在是时候部署到一个真正的服务器上了,我正在使用Google云应用程序引擎flex环境 这是一个自定义运行时。 我可以很好地安装我的应用程序,但当需要运行时,我使用Memcached的视图会得到500 我的第一个想法是因为缓存设置:Python 如何设置Gcloud Flex环境自定义容器pylibmc,python,django,gcloud,Python,Django,Gcloud,我正在尝试为我的应用程序设置memcached。 在本地,它工作得很好 现在是时候部署到一个真正的服务器上了,我正在使用Google云应用程序引擎flex环境 这是一个自定义运行时。 我可以很好地安装我的应用程序,但当需要运行时,我使用Memcached的视图会得到500 我的第一个想法是因为缓存设置: CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
'LOCATION': '127.0.0.1:11211',
}
我认为这与位置设置有关。
鉴于此“127.0.0.1:11211”适用于本地环境,我如何设置gcloud自定义运行时flex环境的位置
如果这不是我获得500的原因,那么还有什么更好的设置呢。
这是我的docker文件:
FROM python:3.8
EXPOSE 8080
RUN apt-get update && apt-get install --reinstall -y \
binutils \
libproj-dev \
libmemcached11 \
libmemcachedutil2 \
libmemcached-dev \
libz-dev
ADD requirements.txt /app/requirements.txt
RUN pip install -r /app/requirements.txt
ADD . .
# Run a WSGI server to serve the application. gunicorn must be declared as
CMD exec gunicorn --bind :8080 --workers 1 --threads 8 main:app --timeout 0 --preload
和app.yaml文件:
runtime: custom
# the PROJECT-DIRECTORY is the one with settings.py and wsgi.py
entrypoint: gunicorn -b :8080 app.wsgi
#entrypoint: gunicorn -b :$PORT app.wsgi
env: flex # for Google Cloud Flexible App Engine
# any environment variables you want to pass to your application.
# accessible through os.environ['VARIABLE_NAME']
env_variables:
DEBUG: 'False' # always False for deployment
....
STATIC_URL: 'https://storage.googleapis.cd...' you sync static files to
beta_settings:
# from command >> gcloud sql instances describe DATABASE-NAME <<
cloud_sql_instances: apppp-instance
handlers:
- url: /.*
script: auto
secure: always
automatic_scaling:
min_num_instances: 1
max_num_instances: 4
runtime_config:
python_version: 3
运行时:自定义
#PROJECT-DIRECTORY是带有settings.py和wsgi.py的目录
入口点:gunicorn-b:8080 app.wsgi
#入口点:gunicorn-b:$PORT app.wsgi
env:flex#用于谷歌云灵活应用程序引擎
#要传递给应用程序的任何环境变量。
#可通过os.environ['VARIABLE_NAME'访问
环境变量:
调试:“False”#部署时始终为False
....
静态URL:'https://storage.googleapis.cd...'您将静态文件同步到
beta_设置:
#根据命令>>gcloud sql实例描述数据库名称,Memcache服务在App Engine灵活环境中不可用。要缓存应用程序数据,可以使用。您可以按照下一个文档连接到您的
另外请记住,根据AppEngine灵活环境的官方文档。
但是现在。您能分享一下它给您的错误吗?请从您的应用程序引擎应用程序的Google云平台日志控制台检查日志,并共享错误。@Nibrash很遗憾,日志没有错误。这很令人沮丧,为什么没有日志和不工作。这与我的问题有什么关系?Memcached我问了关于不是gdalI的问题,我认为您会收到500个错误,因为您试图使用Python3.8,它仍然不支持灵活的环境。因此,上面的Dockerfile是如何安装Python3.8的一个示例,您可以根据需要调整上面的Dockerfile,并重新检查它是否可以这样工作。谢谢。谷歌实际上有时非常令人困惑。在控制台中有Memcached,但现在我看到它不支持Memcached。。真奇怪。