2017-04-08 74 views
0

我在Linode上部署Angular 4時遇到問題。在Linode上部署Angular

使用Angular-cli,我有一個小的Angular 4應用程序,它只是呈現一個基本的谷歌地圖。 它可以發現here,它在Mac上本地運行良好。

Linode已經正常運行Fedora 25,我可以ssh進入它。

我已經建立了一個主機名「ofepi」,並將回購克隆到我的linode。

$ hostname 
ofeyspi 

檢查主機已經連接到url,

$ 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/[email protected]: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我得到連接錯誤。

「該網站無法達到」

控制檯顯示,

Failed to load resource: net::ERR_CONNECTION_REFUSED 

我試着運行第二個命令都dist目錄內,並在項目的根目錄。

還有別的東西我失蹤了嗎?

更新: 我現在看到NG服務器是不正確的,所以我安裝節點,並移動到dist目錄,在那裏我運行HTTP服務器,

$ 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

我不太瞭解林德。但是你不應該在生產中運行'ng serve'。爲什麼不通過apache,nginx或生產節點服務器靜態地提供'dist'文件夾? –

+0

好的,我不應該在生產中使用ng服務。我需要一個節點服務器或其他。謝謝你,但我在另一個軌道上。 –

+1

我加了一個問題的答案。你可以接受答案或添加答案然後接受答案。謝謝。 –

回答

2

我不太瞭解linode。但是你不應該在生產中運行'ng serve'。爲什麼不通過apache,nginx或生產節點服務器靜態地提供'dist'文件夾。這是大多數角色應用程序在生產中的服務方式。