Heroku的其他环境变量是什么?

jgzswidk  于 2022-11-13  发布在  其他
关注(0)|答案(5)|浏览(149)

在设置服务器时,我注意到使用了环境变量process.env.PORT,还有其他类似的变量吗?在哪里可以看到所有的变量?

eaf3rand

eaf3rand1#

以下命令将显示 * 所有 * 环境变量,而不仅仅是heroku config中可见的变量:

heroku run printenv
ldioqlga

ldioqlga2#

heroku config没有显示PORT。因此,如果您需要 * 所有内容 *,它是不完整的。这将创建一个一次性的dyno并显示所有内容。
从这里:https://devcenter.heroku.com/articles/getting-started-with-nodejs#console
在一次性dyno中运行一个控制台,然后在〉提示符下键入“console.log(process.env)":

$ heroku run node
Running `node` attached to terminal... up, run.4778
> console.log(process.env
... )
{ BUILDPACK_URL: 'https://github.com/MichaelJCole/heroku-buildpack-nodejs.git#wintersmith',
  TERM: 'xterm',
  SENDGRID_USERNAME: 'unicorns@heroku.com',
  COLUMNS: '80',
  DYNO: 'run.4778',
  PATH: '/app/bin:/app/node_modules/.bin:bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin',
  PWD: '/app',
  PS1: 'fairydust',
  LINES: '22',
  SHLVL: '1',
  HOME: '/app',
  SENDGRID_PASSWORD: 'ponies',
  PORT: '52031',
  _: '/app/bin/node' }
undefined
5uzkadbs

5uzkadbs3#

命令为

heroku config

你可以在这里阅读更多https://devcenter.heroku.com/articles/config-vars

i1icjdpr

i1icjdpr4#

请参阅https://devcenter.heroku.com/articles/config-vars:会出现一个命令来告诉您环境变量是什么。

$ heroku config

看看这对你有用吗。
编辑:上面链接的heroku文档似乎是错误的。试试这个:

$ heroku config -s --app <appname>
t9eec4r0

t9eec4r05#

以下是我为工作Node.JS应用程序提供的全部环境变量。

heroku上的文档对此相当糟糕,你可能会认为他们会有类似google app engine reference的东西:
https://cloud.google.com/appengine/docs/standard/nodejs/runtime
但是,由于它们不这样做,我的解决方案只是创建一个简单的“rest”端点来注销所有的环境变量。在一个严肃的应用程序中不要这样做。相反,我会使用“Michael科尔”的日志方法。
请不要黑我。这个项目将不存在后,2022年11月,因为heroku将不再是免费的。所以我会冒险。目前移植我的代码到“GoogleAppEngine”。

HEROKU_EXEC_URL : 
    https://exec-manager.heroku.com/370aa52e-ced2-4ad1-9db7-b11f98f8a7fd

DATABASE_URL ::::
    postgres://amrspwutkevecg:4958212525b67f2ee7a0f49c0c465f65da4c3e352880f5999f8ea6fac63a4cf5@ec2-34-200-35-222.compute-1.amazonaws.com:5432/ddb2djh5t66gqj

npm_config_user_agent :
    npm/8.19.2 node/v16.18.0 linux x64 workspaces/false

JAVA_TOOL_OPTIONS :  
    -Dcom.sun.management.jmxremote 
    -Dcom.sun.management.jmxremote.port=1098 
    -Dcom.sun.management.jmxremote.rmi.port=1099 
    -Dcom.sun.management.jmxremote.ssl=false 
    -Dcom.sun.management.jmxremote.authenticate=false 
    -Dcom.sun.management.jmxremote.local.only=true 
    -Djava.rmi.server.hostname=172.17.42.66 
    -Djava.rmi.server.port=1099

npm_node_execpath :
    /app/.heroku/node/bin/node

SHLVL : 0
npm_config_noproxy : <EMPTY STRING>
PORT : 19842
HOME : /app
npm_package_json : /app/package.json
PS1  : \[\033[01;34m\]\w\[\033[00m\] \[\033[01;32m\]$ \[\033[00m\]
npm_config_userconfig : /app/.npmrc
npm_config_local_prefix : /app
COLOR : 0
npm_config_metrics_registry : https://registry.npmjs.org/
_ : /app/.heroku/node/bin/npm
npm_config_prefix : /app/.heroku/node
WEB_CONCURRENCY : 1
npm_config_cache : /app/.npm
npm_config_node_gyp : /app/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
PATH : /app/node_modules/.bin:/node_modules/.bin
     :/app/.heroku/node/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin
     :/app/.heroku/node/bin
     :/app/.heroku/yarn/bin
     :/usr/local/bin:/usr/bin
     :/bin:/app/bin:/app/node_modules/.bin
NODE :/app/.heroku/node/bin/node
MEMORY_AVAILABLE : 512
NODE_HOME : /app/.heroku/node
HEROKU_JMX_OPTIONS : 
    -Dcom.sun.management.jmxremote 
    -Dcom.sun.management.jmxremote.port=1098 
    -Dcom.sun.management.jmxremote.rmi.port=1099 
    -Dcom.sun.management.jmxremote.ssl=false 
    -Dcom.sun.management.jmxremote.authenticate=false 
    -Dcom.sun.management.jmxremote.local.only=true 
    -Djava.rmi.server.hostname=172.17.42.66 
    -Djava.rmi.server.port=1099

HEROKU_APP_ID : 265115d9-6eb1-4352-a83c-05b844ece512

npm_lifecycle_script : node ./ATOMIC_IVY_MMO.JS
npm_lifecycle_event  : start
npm_config_globalconfig : /app/.heroku/node/etc/npmrc
npm_config_init_module : /app/.npm-init.js
PWD : /app
npm_execpath : /app/.heroku/node/lib/node_modules/npm/bin/npm-cli.js
npm_config_global_prefix : /app/.heroku/node
npm_command : start
NODE_ENV : production
WEB_MEMORY : 512
DYNO : web.1
INIT_CWD : /app
EDITOR : vi

运行后添加的环境变量:

heroku labs:enable runtime-dyno-metadata -a <app name>

非标准,但可能很有用。尤其是“HEROKU_APP_NAME”,您可以使用它来允许客户端应用向服务器的API发出XMLHTTPRequest。

HEROKU_APP_ID              unique identifier for the application.   
                           "9daa2797-e49b-4624-932f-ec3f9688e3da"
HEROKU_APP_NAME            application name.                        
                           "example-app"
HEROKU_DYNO_ID             dyno identifier. This metadata is not yet available in Private Spaces nor the Container Registry.    
                           "1vac4117-c29f-4312-521e-ba4d8638c1ac"
HEROKU_RELEASE_CREATED_AT  time and date the release was created.       
                           "2015-04-02T18:00:42Z"
HEROKU_RELEASE_VERSION     identifier for the current release.  
                           "v42"
HEROKU_SLUG_COMMIT         commit hash for the current release.     
                           "2c3a0b24069af49b3de35b8e8c26765c1dba9ff0"
HEROKU_SLUG_DESCRIPTION    description of the current release. 
                           "Deploy 2c3a0b2"

运行时medata数据的文档:https://devcenter.heroku.com/articles/dyno-metadata

相关问题