Ако искате да използвате geodjango с Amazon Elastic Beanstalk, трябва да създадете персонализиран AMI където можете да инсталирате PostGIS и след това да насочите приложението си Elastic Beanstalk към този AMI при завъртане.
Ето един добър урок за това как да персонализирате EBS AMI
. Има и урок за AWS за това но намерих първия по-лесен за разбиране. На моя персонализиран AMI инсталирах geos, gdal, proj4 и postgis от източника и postgres, използвайки yum install postgres
. По-долу са командите, които използвах, за да инсталирам всички библиотеки в AMI.
За да може приложението django да намери библиотеките, аз също зададох допълнителна променлива на средата в AWS EBS Console. В лентата с менюта на моята среда отидох на конфигурация --> софтуерна конфигурация и редактира свойствата на средата чрез добавяне на свойството LD_LIBRARY_PATH
зададен като /usr/local/lib/:$LD_LIBRARY_PATH
.
Тъй като не е предвидено екземплярите на приложението beanstalk да изпълняват базата данни сами, аз също така настроих Amazon RDS Postgres хоствана база данни, която е сравнително нова услуга, поддържа PostGIS.
Ако съберете всичко това, трябва да получите много мащабируемо приложение GeoDjango!
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