很少使用cpanel,最近因?yàn)橐粋€(gè)項(xiàng)目不得不用,稍微紀(jì)錄一下心得
cpanel是一個(gè)管理伺服器架站的工具,以前php時(shí)代的伺服器主流管理套件吉挣,本身也是一個(gè)web派撕。
cpanel建議的NodeJS安裝教程的問題
- 沒有pm2
- 版本不是最新,似乎也不能指定node版本
- 不確定有沒有cluster功能
安裝nvm听想、nodejs腥刹、pm2
cpanel的背後也是一臺linux马胧,我們完全可以繞過cpanel自行安裝這些汉买。
- 使用cpanel的user ssh登入主機(jī)
- 安裝nvm、nodejs佩脊、pm2
- 啟用app蛙粘,測試一下
http://domain.com:${port}
Apache反向代理與SSL
nodejs一般來說都使用反向代理,這邊也不例外威彰。我們需要反向代理出牧,也需要SSL,而cpanel有一套類似let's encrypt
的生成SSL證書功能
cpanel後臺 > SSL狀態(tài) > auto run SSL(自動生成)
生成的過程需要認(rèn)證DNS歇盼,所以需要在http://domain.com底下建一個(gè)臨時(shí)的txt檔以驗(yàn)證DNS所有權(quán)舔痕,如果採用反向代理這個(gè)驗(yàn)證肯定會失敗,因?yàn)闆]法正常拿到txt檔內(nèi)容豹缀。即便暫時(shí)關(guān)閉反向代理來生成SSL伯复,之後也必須每三個(gè)月更新一次,不可能每三個(gè)月手動處理一次邢笙,所以此路不通啸如。
好在DNS驗(yàn)證只需要http,不需要透過https驗(yàn)證氮惯,所以真正解決之道是:http採用一般代理叮雳,https採用反向代理
具體做法是在以下目錄新增一個(gè)設(shè)定檔,檔名可以隨意
vim /etc/apache2/conf.d/userdata/ssl/2_4/${user_name}/${domain}/api.conf
#Apache Reverse Proxy
SSLProxyEngine on
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
cpanel會把以上內(nèi)容包進(jìn)<VirtualHost>
裡面妇汗,所以這邊記得別加帘不。注意別再/etc/apache2/conf.d/userdata/std/2_4/${user_name}/${domain}/
裡面建設(shè)定檔,這是http的反向代理設(shè)定杨箭。