【问题标题】:Where to place node.js files on server?在服务器上放置 node.js 文件的位置?
【发布时间】:2012-01-08 06:33:49
【问题描述】:

我刚刚获得了一个 VPS,将我的第一个 node.js 项目上线,但我想知道如果我希望通过 http://www.mywebsite.com:3000 可以访问 app.js 之类的节点文件,我应该把它放在哪里?

现在,为了托管一个网站,我正在使用 WHM 创建一个 cPanel 帐户,该帐户创建 /home/cpanelusername,而我的 HTML/PHP 文件全部进入 /home/cpanelusername/public_html。 node.js 文件在哪里?还是我这一步也弄错了?

在我开发节点应用程序的 Mac 上,我只需将 cd 放入包含节点文件的目录并运行 node app.js

【问题讨论】:

  • 将节点放置在您想要的任何位置,然后通过 ssh 登录到服务器来运行它们。
  • @Raynos 放文件或文件夹的好地方在哪里?
  • 任何你想要的,我把它们放在我的usr目录下
  • @Raynos 是您的 root 帐户的 /usr 目录,还是在 /home/username 等另一个帐户的主文件夹中?你是把它放在 public_html 目录中,还是不赞成?
  • 再次,这真的没关系。我把它放在~/node/app_name

标签: node.js ssh


【解决方案1】:

您必须使用 node 二进制文件执行 app.js 文件,就像在本地开发中一样。这意味着您可能应该将该执行作为服务调用,其详细信息取决于您的 linux 发行版。如果它不是服务调用,那么在 ssh 中执行它意味着一旦您退出 ssh,应用程序就会停止工作。

例如,在 Ubuntu 服务器(我使用)中,我有一个 Upstart 脚本,它会在系统启动时自动运行我的 node.js 应用程序并登录到 /var/log。名为 /etc/init/myapp.js.conf 的文件示例如下:

description "myapp server"
author      "Me"

# used to be: start on startup
# until we found some mounts weren't ready yet while booting:
start on started mountall
stop on shutdown

script
    # We found $HOME is needed. Without it we ran into problems
    export HOME="/root"

    exec node /home/me/myapp/myapp.js 2>&1 >> /var/log/myapp.log
end script

根据需要替换名称等。

编辑添加:然后您可以通过运行来启动和停止您的服务: sudo start myapp.jssudo stop myapp.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 2021-08-05
    • 2013-06-03
    相关资源
    最近更新 更多