node.js 本身是一種 web server,
程式設計師可使用node.js建構網站及開發網站應用程式。
因其 web server 的特性,所以導致和cpanel的apache不相容。
<安裝套件功能>
我們在之前有介紹過,撰寫wiki的套裝程式mediawiki,
mediawiki是wiki百科所採用的程式基底,
所以其功能是相當完整的。
最近有站長詢問mediawiki的額外套件功能,
因此發生一件很有趣的狀況。
<觀看說明及安裝文件>
站長想要安裝 mediawiki Parsoid,並找了線上說明給我們看。
因該頁的安裝說明不夠完整,所以我們找了Parsoid的工程安裝文件。
後來仔細看一下linux的安裝步驟,其中有git,及nodejs。
並需要啟動node.js server。
其實安裝這個套件,看到這步驟就卡住了。
<為什麼會有問題?>
主要是我們虛擬主機裡,都是使用cpanel控制台,
而cpanel的web server是apache,如果硬是裝上別套web server,
將會直接導致 80 port 的衝突或是.htaccess語法問題。
<如何解決?>
如果主機內只有單一網站,
或許可以試著改裝 node.js 和apache共存(用不同port及快取),
但有時增加一個特殊設定,可能就會因此弄出其他問題。
而同主機內有其他網站在使用,我們也不便直接去改,
以免有問題,會立即性影響到其他網站的使用。
尤其cpanel核心功能出現問題,也不是我們人力技術所能解決的。
如果未來cpanel有增加node.js的支援,
我們就會順應去啟動的,畢竟cpanel公司有一群工程師專門在debugs。
<獨立系統比較好運作>
後來我們建議該站長,如需使用到node.js的功能,
可能就要改用vps ……等等獨立系統,
這樣在去安裝 node.js server才是最穩當的。
(server裡的service越單純,出問題越容易除錯)
<結論>
我們在前年就有考慮,是否推出node.js的虛擬主機服務?
但如果要改裝相容node.js的空間控制台(市面上還真的有),
除了控制台公司的服務,其實還有我們自己的知識成本(解決問題的能力)在,
後來評估後發現,在虛擬主機裡可能不容易推node.js server,
因為會使用node.js應用的,都是軟體工程師,
其特性是習慣自己架server,而非租用虛擬主機。
(本篇教學由unethost.com客服撰寫)
延伸閱讀:如何備份Cpanel後台安裝的套裝程式?
安裝上述的軟體,我們提供虛擬主機試用,七天滿意保證,
功能完整使用不受限制,歡迎點我申請。