我創建了一個自定義AMI,其中包含我需要的所有庫,其中包括我爲MaxMind GeoIP安裝的C庫,然後我下載了GeoCityLite.dat
至/home/ec2-user/geoip/
。我導出了環境變量CG_GEOIP
(作爲/home/ec2-user/geoip/
),甚至GEOIP_LIBRARY_PATH
(指向我的安裝位置:/usr/lib64/libGeoIP.so
)。但Django沒有找到它,我得到「GeoIP路徑必須是有效的文件或目錄」。 (我確定該文件在那裏,通過SSH連接到我的實例,我可以看到它)。我該如何解決我的問題?Django:「GeoIP路徑必須是有效的文件或目錄」Amazon Elastic Beanstalk
ps:在連接到我的實例時使用printenv
沒有顯示我在Beanstalk環境設置中定義的任何環境變量......爲什麼? (不管怎麼說,這不是問題,因爲我定義的變量在某種程度上是由我的應用程序解決的......實際上,數據庫連接的配置位於一個環境變量中,並且我知道自從synchdb命令起作用以後就解決了,我可以請參閱我的RDS實例上生成的表)
感謝澄清有關環境變量......但現在,因爲從os.environ讀變量是我在做什麼,我想知道是否可能涉及到路徑的問題。我的意思是,「/ home/ec2-user/geoip /」可從我的應用程序運行的virtualenv訪問?或者我應該在其他地方移動.dat文件? – daveoncode
@daveoncode它應該可用於應用程序。確保你有適當的權限。我親自將相似的文件保存在'/ etc'中。 – kukido
好的,我將.dat文件移動到/ etc下,它完美地工作!非常感謝;) – daveoncode