0

我最近使用 Google App Engine 为我父亲部署了一个网站。

奇怪的是,在图库中找到了一些图像,而一些返回 404。我查看了管理仪表板的使用率,它说我只有 17% 的“代码和静态文件存储”。

我尝试更改目录并重新部署,我还创建了第二个应用程序(从 this-site-1 到 this-site-2),我等了大约一个小时,以防它只是缓存,但没有这些似乎是问题所在。

我是 Google App Engine 的新手,这是我使用它部署的第一个网站,因此非常感谢任何帮助。

app.yaml

application: this-site-2
version: 1
runtime: python
threadsafe: true
api_version: 1

handlers:
- url: /robots.txt
  static_files: static/robots.txt
  upload: static/robots.txt

- url: /css
  static_dir: static/css

- url: /img
  static_dir: static/img

- url: /js
  static_dir: static/js

- url: /.*
  script: main.py

编辑:我将python更新到2.7,以防出现问题,但我这样做了:

application: this-site-2
version: 1
runtime: python27
threadsafe: true
api_version: 1

handlers:
- url: /robots.txt
  static_files: static/robots.txt
  upload: static/robots.txt

- url: /css
  static_dir: static/css

- url: /img
  static_dir: static/img

- url: /js
  static_dir: static/js

- url: /.*
  script: main.app # a WSGI application in the main module's global scope

libraries:
- name: webapp2
  version: "2.5.1"

- name: django
  version: "1.2"

skip_files:
- ^(.*/)?app\.yaml
- ^(.*/)?app\.yml
- ^(.*/)?index\.yaml
- ^(.*/)?index\.yml
- ^(.*/)?#.*#
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*
- ^(.*/)?.*\.bak$
- ^(.*/)?.*\.less$

然后我部署了,控制台说部署成功,正在更新索引并退出,代码为0。然后我尝试去网站,它返回一个500 server error. 所以我降级回 python 2.5 并且站点很好。

4

3 回答 3

3

我认为您的图像 url 处理程序比它需要的更复杂。我会建议:

  1. 将所有静态内容(图像、Javascript、CSS)放在一个名为static或类似的文件夹中,其中包含图像、Javascript 和 CSS 的子文件夹。
  2. 使用以下处理程序而不是您当前的图像处理程序:

    handlers:
    - url: /images
      static_dir: static/images
    

static/images然后可以通过 url 访问文件夹中的所有文件yourwebsite.com/images/subpath/image.jpg

如需更多灵感,请参阅app.yaml

于 2013-09-10T08:19:59.877 回答
1

我遇到了这个问题,结果发现它部署了具有像这样的小写文件扩展名的图像:name.png,而不是像这样的大写文件扩展名的图像:name.PNG. 有用的是,Windows 对您隐藏了这一点,因此您无法始终分辨。

于 2015-11-29T23:17:33.420 回答
0

啊,我爸解决了;

只需将jpg无法使用的图像更改为png图像(反之亦然,如果png图像无法使用,请将其转换为jpg

于 2013-09-10T23:53:54.297 回答