代码之家  ›  专栏  ›  技术社区  ›  mohamed naser

在弹性豆茎上安装gdal geojango

  •  0
  • mohamed naser  · 技术社区  · 3 年前

    在弹性豆茎上安装geodjango的正确步骤是什么? 获得了eb实例,安装了env并使其成为两个实例,现在我想在它上使用geodjango,我已经在一个单独的ec2实例上使用它进行测试

    那是我的django.config文件,它失败了

    option_settings:
        aws:elasticbeanstalk:container:python:
            WSGIPath: hike.project.wsgi:application
    
    commands:
        01_gdal:
            command: "wget http://download.osgeo.org/gdal/2.1.3/gdal-2.1.3.tar.gz && tar -xzf gdal-2.1.3.tar.gz && cd gdal-2.1.3 && ./configure && make && make install"
    

    然后尝试了这个,但也失败了,因为100%的cpu和时间限制

    option_settings:
        aws:elasticbeanstalk:container:python:
            WSGIPath: hike.project.wsgi:application
    
    commands:
      01_install_gdal:
        test: "[ ! -d /usr/local/gdal ]"
        command: "/tmp/gdal_install.sh"
    files:
      "/tmp/gdal_install.sh":
        mode: "000755"
        owner: root
        group: root
        content: |
          #!/usr/bin/env bash
          sudo yum-config-manager --enable epel
          sudo yum -y install make automake gcc gcc-c++ libcurl-devel proj-devel geos-devel
    
          # Geos
          cd /
          sudo mkdir -p /usr/local/geos
          cd usr/local/geos/geos-3.7.2
          sudo wget geos-3.7.2.tar.bz2 http://download.osgeo.org/geos/geos-3.7.2.tar.bz2
          sudo tar -xvf geos-3.7.2.tar.bz2
          cd geos-3.7.2
          sudo ./configure
          sudo make
          sudo make install
          sudo ldconfig
    
          # Proj4
          cd /
          sudo mkdir -p /usr/local/proj
          cd usr/local/proj
          sudo wget -O proj-5.2.0.tar.gz http://download.osgeo.org/proj/proj-5.2.0.tar.gz
          sudo wget -O proj-datumgrid-1.8.tar.gz http://download.osgeo.org/proj/proj-datumgrid-1.8.tar.gz
          sudo tar xvf proj-5.2.0.tar.gz
          sudo tar xvf proj-datumgrid-1.8.tar.gz
          cd proj-5.2.0
          sudo ./configure
          sudo make
          sudo make install
          sudo ldconfig
    
          # GDAL
          cd /
          sudo mkdir -p /usr/local/gdal
          cd usr/local/gdal
          sudo wget -O gdal-2.4.4.tar.gz http://download.osgeo.org/gdal/2.4.4/gdal-2.4.4.tar.gz
          sudo tar xvf gdal-2.4.4.tar.gz
          cd gdal-2.4.4
          sudo ./configure
          sudo make
          sudo make install
          sudo ldconfig
    

    我不知道该怎么办,

    0 回复  |  直到 3 年前
        1
  •  0
  •   mohamed naser    3 年前

    对于其他也在寻找答案的人,我只是用了docker compose

    当你把EB放在根文件夹中时,它默认会使用docker-compose.yml

    Dockerfile

    # Pull base image
    FROM python:3.9.16-slim-buster
    
    # Set environment variables
    ENV PYTHONDONTWRITEBYTECODE 1
    ENV PYTHONUNBUFFERED 1
    
    RUN mkdir -p /var/log/gunicorn/
    RUN mkdir -p /var/run/gunicorn/
    
    RUN apt-get update &&\
        apt-get install -y libgdal-dev
    
    
    # install dependencies 
    COPY ./requirements.txt /srv/requirements.txt
    
    RUN pip install -r /srv/requirements.txt
    
    COPY . .
    
    # set work directory
    WORKDIR /app/
    
    
    

    docker-compose.yml

    version: "3.8"
       
    services:
        django:
            build: .
            container_name: django
            command: gunicorn -w 2 -b 0.0.0.0:8000 project.wsgi:application
            restart: always
            ports:
                - "80:8000"
    

    就这样