我在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:4200或http://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
我不太瞭解林德。但是你不應該在生產中運行'ng serve'。爲什麼不通過apache,nginx或生產節點服務器靜態地提供'dist'文件夾? –
好的,我不應該在生產中使用ng服務。我需要一個節點服務器或其他。謝謝你,但我在另一個軌道上。 –
我加了一個問題的答案。你可以接受答案或添加答案然後接受答案。謝謝。 –