Hvis du vil bruge geodjango med Amazon Elastic Beanstalk, skal du oprette en brugerdefineret AMI hvor du kan installere PostGIS og derefter pege din Elastic Beanstalk-applikation til den AMI, når du drejer op.
Her er en god tutorial om hvordan man tilpasser en EBS AMI
. Der er også en AWS-tutorial til det men jeg fandt den første lettere at forstå. På min brugerdefinerede AMI installerede jeg geos, gdal, proj4 og postgis fra source og postgres ved hjælp af yum install postgres
. Nedenfor er de kommandoer, jeg brugte til at installere alle biblioteker i AMI.
For at django-appen skal finde bibliotekerne, indstiller jeg også en ekstra miljøvariabel i AWS EBS-konsollen. I menulinjen i mit miljø gik jeg til konfiguration --> softwarekonfiguration og redigerede Environment Properties ved at tilføje egenskaben LD_LIBRARY_PATH
indstillet som /usr/local/lib/:$LD_LIBRARY_PATH
.
Da beanstalk-app-forekomsterne ikke er forudset til at køre databasen selv, har jeg også oprettet en Amazon RDS Postgres hosted database, som er en relativt ny tjeneste, den understøtter PostGIS.
Hvis du lægger det hele sammen, bør du få en meget skalerbar GeoDjango-app!
sudo yum install postgresql postgresql-devel postgresql-server postgresql9-contrib gcc gcc-c++ make libtool curl libxml2 libxml2-devel python-devel
wget http://download.osgeo.org/proj/proj-4.8.0.zip
unzip proj-4.8.0.zip
cd proj-4.8.0
./configure
make
sudo make install
cd ..
wget http://download.osgeo.org/geos/geos-3.4.2.tar.bz2
tar -xvf geos-3.4.2.tar.bz2
cd geos-3.4.2
./configure
make
sudo make install
cd ..
wget http://download.osgeo.org/gdal/1.10.1/gdal1101.zip
unzip gdal1101.zip
cd gdal-1.10.1
./configure --with-python=yes
make
sudo make install
cd ..
wget http://download.osgeo.org/postgis/source/postgis-2.1.1.tar.gz
tar -xvf postgis-2.1.1.tar.gz
cd postgis-2.1.1
./configure
make
sudo make install