对于Openshift上的Python 3.3盒和PostgreSQL 9.2。
当我进入Openshift应用程序时,我可以看到OPENSHIFT_POSTGRESQL_DB_HOST的内容:
echo $OPENSHIFT_POSTGRESQL_DB_PORT
5432
但是对于wsgi脚本,不会传递env变量 - 请参阅python.log中的部分:
[Fri Jan 15 16:27:33 2016] [notice] SIGHUP received. Attempting to restart
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_CRON_DIR was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DB_PASSWORD was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DB_SOCKET was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DB_HOST was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable PGUSER was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_IDENT was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable PGDATABASE was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DB_PID was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DB_USERNAME was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DIR was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_LD_LIBRARY_PATH_ELEMENT was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_PATH_ELEMENT was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable PGHOST was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DB_URL was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_CRON_IDENT was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_VERSION was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable PGDATA was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DB_PORT was undefined
[Fri Jan 15 16:27:33 2016] [warn] PassEnv variable OPENSHIFT_POSTGRESQL_DB_LOG_DIR was undefined
[Fri Jan 15 16:27:33 2016] [notice] Digest: generating secret for digest authentication ...
[Fri Jan 15 16:27:33 2016] [notice] Digest: done
[Fri Jan 15 16:27:33 2016] [notice] Apache/2.2.15 (Unix) mod_wsgi/3.4 Python/3.3.2 configured -- resuming normal operations
在应用程序控制台中重新启动应用程序没有帮助。 都没有重启python盒。
请建议如何将env变量传播到wsgi脚本。
答案 0 :(得分:3)
尝试停止&启动(不重启)你的python应用程序,特别是如果你在创建应用程序后添加了postgresql。由于它作为wsgi应用程序在apache中运行,因此可能需要停止/启动才能正确查看env变量。
答案 1 :(得分:0)
尝试停止&启动(不重启)你的python应用程序......
根据文档执行此操作的命令 from here是:
$ rhc app-stop {instance}
或
$ rhc app-force-stop {instance}
和
rhc app-start {instance}
注意: 将{instance}更改为您的Openshift应用程序名称。