如何在 AWS ec2 中为 react & go 设置 env 变量



我在本地制作了 React & Go 产品。我将把它部署到 AWS EC2。

要在 AWS EC2 中工作,我需要为一些机密信息设置环境变量。

我已经为本地环境设置了 env 变量。但我不确定适用于生产环境 (AWS EC2( 的环境变量。

我已经为本地环境设置了env.文件。但不确定如何在 ec2 中设置环境变量。

我将环境变量用于 axios、firebase 和 mysql。

//axios
   const client = axios.create({
      baseURL: process.env.REACT_APP_API_URL,
    });
    client
      .get('/api/articles')
      .then(response => {
        this.setState({articles: response.data});
      })
      .catch(response => console.log('ERROR!! occurred in Backend.'));
//firebases
const firebaseConfig = {
  apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
  authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
  databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
  projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
  storageBucket: '',
  messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
  appId: process.env.REACT_APP_FIREBASE_APP_ID,
};
firebase.initializeApp(firebaseConfig);
export default firebase;
//mysql
    err := godotenv.Load()
    if err != nil {
        //TODO production
    }
    db, err := sql.Open("mysql", os.Getenv("MYSQL_USER")+":"+os.Getenv("MYSQL_PASSWORD")+"@tcp(localhost:3306)/article")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()
    err = db.Ping()
    if err != nil {
        panic(err.Error())
    }

这是github。https://github.com/jpskgc/article

我将在 AWS EC2 中部署此 React & Golang 产品。但我不确定如何设置环境变量。

在用于

在 EC2 上启动服务器的 shell 脚本中,添加环境变量定义,例如:

export ENV_VAR_1=value_1
export ENV_VAR_2=value_2
... start your server ...

请注意,这仅适用于服务器端。 React 应用程序由在客户端浏览器中运行的 Javascript 组成,您无法控制那里的环境变量。

如果我理解得很好,上面的Axios代码提取是 React 前端的一部分。 您不能在那里process.env,因为这是在客户计算机上执行的。

我使用弹性 beanstalk 并在那里设置环境变量。

最新更新