无法在数字海洋水滴中启动服务器
Unable to start the server in a digital ocean droplet
我正在尝试将我的 MERN 应用程序部署到数字海洋水滴(Ubuntu 20.04 服务器)。
我将 GitHub 存储库克隆到服务器。
现在,当我尝试使用 npm start
启动服务器时,出现以下错误。
代码片段如下:
server/config/db.js
const mongoose = require("mongoose");
const colors = require("colors");
const connectDB = async () => {
try {
const conn = await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
});
console.log(`MongoDB connected: ${conn.connection.host}`.cyan.bold);
} catch (error) {
console.error(`Error: ${error.message}`.red.bold.underline);
process.exit(1);
}
};
2;
module.exports = connectDB;
但是,在我的本地机器上一切正常。如果我 console.log(process.env.MONGO_URI)
,我得到字符串。
在 Droplet 中,我尝试执行以下操作:
export MONGO_URI=the_connection_string
。即便如此,我还是收到错误消息。
我做错了什么?
错误
我发现了问题。我把 .env
放在了 .gitignore
里面。因此 .env
在 github 存储库中不可用,我已将其克隆到我的 Digital Ocean droplet 中。作为解决方案,我使用 vim
在我的 Droplet 中重新创建了 .env
文件。然后我就可以毫无问题地启动服务器了。
我正在尝试将我的 MERN 应用程序部署到数字海洋水滴(Ubuntu 20.04 服务器)。
我将 GitHub 存储库克隆到服务器。
现在,当我尝试使用 npm start
启动服务器时,出现以下错误。
server/config/db.js
const mongoose = require("mongoose");
const colors = require("colors");
const connectDB = async () => {
try {
const conn = await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
});
console.log(`MongoDB connected: ${conn.connection.host}`.cyan.bold);
} catch (error) {
console.error(`Error: ${error.message}`.red.bold.underline);
process.exit(1);
}
};
2;
module.exports = connectDB;
但是,在我的本地机器上一切正常。如果我 console.log(process.env.MONGO_URI)
,我得到字符串。
在 Droplet 中,我尝试执行以下操作:
export MONGO_URI=the_connection_string
。即便如此,我还是收到错误消息。
我做错了什么?
错误
我发现了问题。我把 .env
放在了 .gitignore
里面。因此 .env
在 github 存储库中不可用,我已将其克隆到我的 Digital Ocean droplet 中。作为解决方案,我使用 vim
在我的 Droplet 中重新创建了 .env
文件。然后我就可以毫无问题地启动服务器了。