一台服務器部署多個應用。可部署前端工程、node服務、數據庫等。
一、服務器
選擇合適的服務器,購買即可。
服務器商
1、阿里雲
2、騰訊雲
3、百度雲
二、服務器管理面板-寶塔
寶塔面板是一款服務器管理軟件,支持windows和linux系統,可以通過Web端輕松管理服務器,提升運維效率。例如:創建管理網站、FTP、數據庫,擁有可視化文件管理器,可視化軟件管理器,可視化CPU、內存、流量監控圖表,計划任務等功能。
三、阿里雲CenOS,安裝寶塔
1、配置端口
首先配置寶塔需要的端口
2、mac 終端連接
阿里雲連接方式導航
ssh root@YourAliyunServerIp
然后輸入你上面設置的密碼即可。
第一次使用賬號密碼登錄,會提示
直接輸入yes即可。
4、安裝成功
Bt-Panel: http://47.110.32.46:8888/1c894253
username:jingwhale
password: adminzyl
四、阿里雲CenOS環境配置
1、基礎環境安裝
Linux面板下,主要支持LNMP和LAMP、Tomcat、node.js
LNMP和LAMP環境的安裝
安裝完成在瀏覽上打開面板的地址,登入面板,面板會自動推薦你安裝環境套件,這里有兩種選擇,第一種是LNMP套件,第二種是LAMP套件(如圖):
LNMP和LAMP環境主要的區別在於web服務器上面,一個使用是Apache服務器、一個使用Nginx服務器。
如果你不了解兩種的區別和差異請使用推薦安裝(LNMP套件),安裝方式這里根據自身實際的情況選擇,如果不了解,也使用默認的安裝方式(極速安裝)。如果不需要這些套件也可以在面板左側功能欄選擇《軟件管理》,在當前列表自行選擇安裝程序。
2、NodeJS環境安裝
1)nvm
2)pm2
寶塔也有PM2進程管理工具,安裝PM2管理工具,在面板左側工具欄,軟件中心,在選擇PM2安裝即可。
4)使用cnpm
https://npm.taobao.org/
npm install -g cnpm --registry=https://registry.npm.taobao.org
可防止頁面中文亂碼。
五、前端靜態頁面部署
1)使用寶塔網站管理,添加網站管理
2)將代碼clone到wwwroot文件下的項目文件夾下即可。
3)在網站設置中,設置域名管理
4)配置ip訪問
前提是ip與服務器已經備案,不備案阿里雲服務不可訪問。
ip設置增加解析,添加A記錄類型,如下圖:
此外,騰訊雲開發者平台的pages服務部署靜態網站,只需要將git倉庫開啟pages服務即可,可綁定域名,https。
六、Node服務器部署-eggjs
1)使用寶塔網站管理,添加網站管理
2)部署Node服務
eggjs部署
JavaScript 語言本身不需要編譯的,構建過程主要是下載依賴。但如果使用 TypeScript 或者 Babel 支持 ES6 以上的特性,那就必須要這一步了。
一般安裝依賴會指定 NODE_ENV=production 或 npm install --production 只安裝 dependencies 的依賴。因為 devDependencies 中的模塊過大而且在生產環境不會使用,安裝后也可能遇到未知問題。
$ cd baseDir $ npm install --production $ tar -zcvf ../release.tgz .
但,如果dependencies 的依賴會因為不同的環境,依賴不同的話,建議在服務器安裝依賴。例如,puppeteer會依據不同的環境加載不同chrome模擬器,需要服務器安裝依賴。
3)服務訪問方式
*ip地址方式
服務器公網地址:7001,需要在eggjs中配置hostname為0.0.0.0:
config/config.default.js
config.cluster = { listen: { port: 7001, //可自己配置 hostname: '0.0.0.0' } };
*域名方式
-eggjs配置
默認127.0.0.1:7001
config/config.default.js
config.cluster = { listen: { port: 7001, //可自己配置 hostname: '' } };
-寶塔配置
設置nginx反向代理
目標訪問www.xxx.cn讓nginx反向代理到,www.xxx.cn:7001地址
打開寶塔的nginx配置,修改server{}內的
listen 80; server_name www.xxx.cn;
還需要在server內加上一個配置
location / { proxy_pass http://127.0.0.1:3000; }
配置好后,訪問 www.xxx.cn 的請求就會自動代理到 http://127.0.0.1:7001 ,這樣就可以能使用nodejs開辟的接口了。
-寶塔面板Nginx SSL 配置
-放行eggjs端口(若已在放行內,不必再進行放行操作)
具體放行端口方法
其他
lunix命令
查看服務器是幾核
dmesg | grep CPU | grep ID