Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何设置Gcloud Flex环境自定义容器pylibmc_Python_Django_Gcloud - Fatal编程技术网

Python 如何设置Gcloud Flex环境自定义容器pylibmc

Python 如何设置Gcloud Flex环境自定义容器pylibmc,python,django,gcloud,Python,Django,Gcloud,我正在尝试为我的应用程序设置memcached。 在本地,它工作得很好 现在是时候部署到一个真正的服务器上了,我正在使用Google云应用程序引擎flex环境 这是一个自定义运行时。 我可以很好地安装我的应用程序,但当需要运行时,我使用Memcached的视图会得到500 我的第一个想法是因为缓存设置: CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache

我正在尝试为我的应用程序设置memcached。 在本地,它工作得很好

现在是时候部署到一个真正的服务器上了,我正在使用Google云应用程序引擎flex环境

这是一个自定义运行时。 我可以很好地安装我的应用程序,但当需要运行时,我使用Memcached的视图会得到500

我的第一个想法是因为缓存设置:

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。。真奇怪。