如何在共享主机上部署简单的Angular2应用程序?

时间:2016-11-28 22:06:22

标签: javascript angularjs angular shared-hosting

我想在我的共享主机上部署我的Angular2应用。我尝试通过ssh传输文件,但应用程序没有运行。我想有一些事情要做,就像当地的ng服务一样。

要遵循的步骤是什么?我无法在互联网上找到它们:/

由于

修改

我有一个非常简单的应用程序,包含一些路由和组件。没有服务器端代码,因为我根据自己的需要调用了我的REST API。

3 个答案:

答案 0 :(得分:10)

在您的本地开发计算机上执行ng build --prodng build --prod --aot

这会将您的应用构建到dist文件夹中。将dist文件夹的内容复制到共享主机的公共目录。

根据您的托管情况,您可能需要配置Web服务器(nginx,Apache,IIS等)来提供文件。不要在共享主机上运行服务。

除非您计划在通用模式下运行应用程序,否则它会重新呈现页面服务器端,请不要将整个应用程序复制到共享主机。不要在共享主机上执行npm安装。只需在dist文件夹中复制构建的应用程序文件即可。

答案 1 :(得分:0)

您必须构建应用程序,在应用程序根目录中查看package.json。你通常会在这些行上构建dev / prod或者其他东西。然后只需将dist文件夹的内容复制到服务器,并确保在索引中scrips src是正确的。文件。

答案 2 :(得分:0)

当然,您必须在服务器上提供服务。您需要采取以下几个步骤:

  • 将文件传输到服务器(认为已完成)
  • 通过SSH登录并在应用目录中执行npm install
  • 更改您的app.js(或其他)以绑定到您的互联网界面。默认设置是将其绑定到localhost,这样您就无法从本地以外的地方访问它。
  • 您还需要打开服务器上的端口。这涉及使用反向代理(如nginx)来侦听标准端口(80)并将其重定向到应用正在侦听的端口。如果您希望应用程序直接在端口80上侦听,则需要在root用户下运行它,这是不推荐的。尝试使用iptables命令打开端口,例如:iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
  • 在您应用的目录中执行ng serve(或其他)

本说明适用于开发,不适用于生产用途。