nodejs的koa2项目在ubuntu部署,需要nginx吗?

发布于 2022-09-07 12:12:24 字数 1225 浏览 42 评论 0

我用koa2写的项目,准备部署在测试服务器,服务器安装了pm2,并且启动了,请问需要nginx配置吗?
还有我启动了之后,好像提示mongodb服务没有启动,我又该怎么启动呢?
如果不用nginx,我pm2启动了之后我改如何通过打开服务器地址来启动项目呢?

clipboard.png
上面是我已经用pm2启动了的项目,但是不知道该如何打开项目页面?

const path = require('path')
const rootPath = path.normalize(__dirname + '/..')
const env = process.env.NODE_ENV || 'development'

const config = {
    development: {
        root: rootPath,
        app: {
            name: 'koa'
        },
        port: process.env.PORT || 9990,
        db: 'mongodb://localhost/koa-development'
    },

    test: {
        root: rootPath,
        app: {
            name: 'koa'
        },
        port: process.env.PORT || 9991,
        db: 'mongodb://localhost/koa-test'
    },

    production: {
        root: rootPath,
        app: {
            name: 'koa'
        },
        port: process.env.PORT || 3000,
        db: 'mongodb://localhost/koa-production'
    }
}

module.exports = config[env]

这是node项目的config配置文件。
我还想了解一下生产环境的数据库如何配置?mongodb地址应该写哪个呢?

我输入pm2 log报错是这样的,大家知道这是什么原因吗?

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

滥情空心 2022-09-14 12:12:24
  1. Node已经是一个运行时的JS服务环境,只要不同的Node项目使用不同的端口,可以使用IP:Port的方式访问不同的项目。PM2是管理Node的软件环境,可以使用PM2便捷地启动切换停止多个Node项目;
  2. Nginx是配置域名关联IP(包含不同的Port),测试时没有域名,就直接使用IP即可,也即如【1】所述,只要PM2即可。
  3. MongoDB的配置(你应该是问数据库链接怎么写) 取决于Node项目和MongoDB是否在同一服务器中
    3.1. 相同 则开发、测试、生产的MongoDB配置没有区别,数据库链接都是形如:mongodb://127.0.0.1:27017(默认端口)/dev or /test or /production
    3.2. 不相同,即MongoDB数据库在其它服务器中,允许远程连接的前提下,数据库链接都是形如:mongodb://IP:Port/dev or /test or /production
    或者形如:
    mongodb://域名/dev or /test or /production
    3.3. MongoDB的启动、停止、重启可以参考官方文档。
  4. PM2启动成功以后,按照Node项目中开启的端口,使用IP:Port的方式访问任意项目。
  5. 图中错误是mongoose未能链接到MongoDB数据库。
  6. 不熟悉服务器环境配置的话,可以使用宝塔面板,直观零基础。
じ违心 2022-09-14 12:12:24
  1. 不需要,如果不是80端口。
  2. 直接启动就好了,比如service mongodb start
心房敞 2022-09-14 12:12:24

1 是80端口也可以直接启动
前提是你这个服务器只有一个域名绑定,如果要部署多个经域名访问的,就要nginx了

2 数据库没有启动

乄_柒ぐ汐 2022-09-14 12:12:24

不需要nginx

先看一下mongodb有没有启动,使用 mongod 命令启动

宁愿没拥抱 2022-09-14 12:12:24

如果是80端口的话就不需要

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文