如何在共享主机上部署一个简单的 Angular2 应用程序?
How to deploy a simple Angular2 app on a shared hosting?
我想在我的共享主机上部署我的 Angular2 应用程序。我尝试通过 ssh 传输文件,但应用程序没有 运行。我想有一些事情可以做,比如本地的 ng 服务。
要遵循哪些步骤?我在互联网上找不到它们:/
谢谢
编辑
我有一个非常简单的应用程序,其中包含一些路由和组件。没有服务器端代码,因为我正在调用我的 REST api 来满足我的需要。
您必须构建应用程序,查看应用程序根目录中的 package.json。你通常会有 build dev/prod 或类似的东西。然后只需将 dist 文件夹的内容复制到服务器并确保 scrips src 在索引中是正确的。文件.
当然你必须在服务器上提供它。您必须执行几个步骤:
- 将你的文件传输到服务器(以为这样就完成了)
- 通过 SSH 登录并在您的应用程序目录中执行
npm install
。
- 更改您的
app.js
(或其他)以绑定到您的互联网接口。默认设置是将其绑定到 localhost
,因此您将无法从本地以外的地方访问它。
- 您还需要在服务器上打开端口。这涉及使用反向代理(如 nginx)来侦听标准端口 (80) 并将其重定向到您的应用正在侦听的端口。如果您希望您的应用程序直接在端口 80 上侦听,您需要在
root
用户下 运行 它,不推荐这样做。尝试使用 iptables 命令打开端口,例如:iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
- 在您的应用程序目录中执行您的
ng serve
(或其他)
此说明用于开发,不用于生产。
在您的本地开发机器上执行 ng build --prod
或 ng build --prod --aot
这会将您的应用构建到 dist 文件夹中。将 dist 文件夹的内容复制到共享主机的 public 目录。
根据您的主机,您可能需要配置网络服务器(nginx、Apache、IIS 等)来为您的文件提供服务。不要 运行 ng 在您的共享主机上提供服务。
除非您计划 运行在通用模式下运行您的应用程序,它会在服务器端重新呈现页面,否则不要将整个应用程序复制到您的共享主机。不要在共享主机上执行 npm install。只需将构建的应用程序文件复制到 dist 文件夹中即可。
我想在我的共享主机上部署我的 Angular2 应用程序。我尝试通过 ssh 传输文件,但应用程序没有 运行。我想有一些事情可以做,比如本地的 ng 服务。
要遵循哪些步骤?我在互联网上找不到它们:/
谢谢
编辑
我有一个非常简单的应用程序,其中包含一些路由和组件。没有服务器端代码,因为我正在调用我的 REST api 来满足我的需要。
您必须构建应用程序,查看应用程序根目录中的 package.json。你通常会有 build dev/prod 或类似的东西。然后只需将 dist 文件夹的内容复制到服务器并确保 scrips src 在索引中是正确的。文件.
当然你必须在服务器上提供它。您必须执行几个步骤:
- 将你的文件传输到服务器(以为这样就完成了)
- 通过 SSH 登录并在您的应用程序目录中执行
npm install
。 - 更改您的
app.js
(或其他)以绑定到您的互联网接口。默认设置是将其绑定到localhost
,因此您将无法从本地以外的地方访问它。 - 您还需要在服务器上打开端口。这涉及使用反向代理(如 nginx)来侦听标准端口 (80) 并将其重定向到您的应用正在侦听的端口。如果您希望您的应用程序直接在端口 80 上侦听,您需要在
root
用户下 运行 它,不推荐这样做。尝试使用 iptables 命令打开端口,例如:iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
- 在您的应用程序目录中执行您的
ng serve
(或其他)
此说明用于开发,不用于生产。
在您的本地开发机器上执行 ng build --prod
或 ng build --prod --aot
这会将您的应用构建到 dist 文件夹中。将 dist 文件夹的内容复制到共享主机的 public 目录。
根据您的主机,您可能需要配置网络服务器(nginx、Apache、IIS 等)来为您的文件提供服务。不要 运行 ng 在您的共享主机上提供服务。
除非您计划 运行在通用模式下运行您的应用程序,它会在服务器端重新呈现页面,否则不要将整个应用程序复制到您的共享主机。不要在共享主机上执行 npm install。只需将构建的应用程序文件复制到 dist 文件夹中即可。