前言:
最近在學習node然后租了個騰訊云服務器,準備部署自己寫的api,在網上找了些教程 發現多多少都有些坑,所以就來總結一下 ,自己也是新手 ,記錄一下自己的過程。
買騰訊云的過程就不說了,選擇購買之后公網ip這些都有了,然后直接登錄就可以了,我的是centos系統 在網上找了些教程。
最開始我是直接開始安裝node.js環境
1.首先獲取壓縮檔源代碼,網上復制的地址,版本太低 所以我后面直接升級node版本了。
wget http://nodejs.org/dist/v0.10.18/node-v0.10.18.tar.gz
2.解壓縮源文件,并且進入到壓縮后的文件夾中:
tar zxf node-v0.10.18.tar.gz
cd node-v0.10.18
3.執行配置腳本來進行編譯預處理:
./configure
4.開始編譯源代碼
make
我發現make的時候 提示我gc++not found 然后查了一下 缺少相關庫
然后用yum更新到最新版本
yum -y update
然后又回到之前進入目錄
make 編譯完成之后 make install
這個時候 基本環境就好了
然后我用mac 安裝了ftp 準備吧本地node文件 傳到服務器上
ftp連接騰訊云搞了半天 搞不定 ?最后上網搜了一下 ?發現改成sftp 就連上了 不知道為何。
連上之后 吧文件傳到服務器目錄即可。
這個時候 我們的centos 就有我們的目錄了 ? ?cd/你的目錄
這個js 我只用了簡單的exprees模塊 和body-parser ?所以 需要安裝相應的模塊。
安裝完成
這個時候我們訪問端口如8888 外網是訪問不到的 因為我們本地沒有打開
開啟端口(以80端口為例)
? ? ?方法一:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT ? 寫入修改
/etc/init.d/iptables save ? 保存修改
service iptables restart ? ?重啟防火墻,修改生效
? ? ? 方法二:
vi /etc/sysconfig/iptables ?打開配置文件加入如下語句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT ? 重啟防火墻,修改完成
如果直接 npm start 或 node app.js 啟動,則一旦退出 ssh 遠程登陸,nodeapp 就會停止運行。因此我們使用 forever 啟動 nodeapp。
NODE_ENV=production forever start app.js
好了 這個時候 部署完成 ?訪問你的ip:端口 即可。
繼續學習中。