在Linode上部署Angular

时间:2017-04-08 17:32:13

标签: angular-cli linode fedora-25

我在Linode上部署Angular 4时遇到了麻烦。

使用Angular-cli,我有一个小的Angular 4应用程序,它只是渲染一个基本的谷歌地图。 它可以找到here,并且可以在Mac上本地运行。

Linode已经设置好了运行Fedora 25,我可以进入它。

我已经设置了一个主机名' ofeyspi'并将回购克隆克隆到我的linode。

$ hostname
ofeyspi

检查主机名是否已连接到网址

$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
139.162.199.9 ofeyspi.qqiresources.com ofeyspi

然后我跑:

$ ng build --prod --bh /root/beans3/dist/
 11% building modules 9/9 modules 0 activeTemplate parse warnings:                 
The <template> element is deprecated. Use <ng-template> instead ("
  <div class="card">
    [WARNING ->]<template ngFor let-panel [ngForOf]="panels">
      <div role="tab" id="{{panel.id}}-header" [attr.ar"): ng:///root/beans3/node_modules/@ng-bootstrap/ng-bootstrap/accordion/accordion.d.ts.NgbAccordion.html@2:4
Hash: 079970cfbabe6b2f710a                                                              
Time: 34065ms
chunk    {0} polyfills.a3e056f914d9748ff431.bundle.js (polyfills) 158 kB {4} [initial] [rendered]
chunk    {1} main.47083d1d3073f3856af7.bundle.js (main) 142 kB {3} [initial] [rendered]
chunk    {2} styles.604a57bc7d4c0f84e447.bundle.css (styles) 122 bytes {4} [initial] [rendered]
chunk    {3} vendor.244ceb2ee1e4bb317079.bundle.js (vendor) 1.39 MB [initial] [rendered]
chunk    {4} inline.df954263324e7c133385.bundle.js (inline) 0 bytes [entry] [rendered]

正如你所看到的,这给出了一个错误,模板元素的一个问题,在开发过程中可以忽略,但我想知道生产是一样的。

这会创建一个新的dist目录,然后我运行

$ ng server --host qqiresources.com

我也试过了,

$ ng server --host 139.162.199.9
** NG Live Development Server is running on http://139.162.199.9:4200 **
Hash: 2391cafc7c903540029f                                                              
Time: 17824ms
chunk    {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 158 kB {4} [initial] [rendered]
chunk    {1} main.bundle.js, main.bundle.js.map (main) 10.5 kB {3} [initial] [rendered]
chunk    {2} styles.bundle.js, styles.bundle.js.map (styles) 150 kB {4} [initial] [rendered]
chunk    {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.67 MB [initial] [rendered]
chunk    {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
webpack: Compiled successfully.

当我导航到http://qqiresources.com:4200http://139.162.199.9:4200时,我收到连接错误。

&#34;无法访问此网站&#34;

控制台显示,

Failed to load resource: net::ERR_CONNECTION_REFUSED

我已尝试在dist目录和项目根目录中运行第二个命令。

我还缺少其他东西吗?

更新: 我现在看到ng服务器不正确,所以我安装了节点并移动到dist目录,我在那里运行http-server,

$ http-server
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8080
  http://139.162.199.9:8080
Hit CTRL-C to stop the server

但仍然导航到http://139.162.199.9:8080会显示相同的网站无法联系到网站。消息。

由于

更新: 我有apache 2工作并在dist目录中提供index.html文件。然而,似乎在使用dist中的其他文件时遇到问题。 我在其上发布了一个问题Running Angular-cli on Apache 2

1 个答案:

答案 0 :(得分:3)

我对linode不太了解。但你永远不应该运行服务&#39;在生产中。为什么不服务&#39; dist&#39;文件夹静态通过apache,nginx或生产节点服务器。这就是大多数角度应用程序在生产中的服务方式。