node.js和npm離線安裝

離線安裝node.js和npm

1.下載官方安裝包並拷貝到離線機器上。

官方下載地址:https://nodejs.org/en/download/

2.解壓檔案:

tar-xJf node-v8.9.4-linux-x64.tar.xz

2.放到相應目錄例如/opt/

sudo mvnode-v8.9.4-linux-x64 /opt/

3.建立檔案連結使npm和node命令到系統命令

sudo ln -s /opt/node-v8.9.4-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /opt/node-v8.9.4-linux-x64/bin/npm /usr/local/bin/npm

4.檢查是否安裝成功

node-v

npm-v

在Linux離線安裝pm2

事前準備

  • 先在一台能連網的Linux服務器上安裝pm2
    npm install pm2 -g
  • 查詢本機npm預設的全域安裝目錄
    npm config get prefix
    如果顯示/usr/local/node,則npm預設的全域安裝目錄是/usr/local/node/lib/node_modules/
  • 在預設的全域目錄下找到pm2
    cd /usr/local/node/lib/node_modules/
  • 打包pm2
    tar -cvzf pm2.tar.gz pm2

安裝方式

  • 上傳到無網路的Linux伺服器的npm預設的全域目錄下,解壓縮。
    tar -xvzf pm2.tar.gz
  • 重新編譯
    npm build pm2 -g
  • 大功告成,檢驗安裝是否可用。
  • pm2 -v
    如果可以看到軟體資訊代表安裝成功

Charles介紹 – 好用的封包抓取工具

軟體資訊

軟體介紹

Charles 是在電腦上常用的網路封包截取工具,在做手機APP開發時,我們為了測試與伺服器端的網路通訊,常常需要截取網絡封包來分析。除了在做手機APP開發中測試端口外,Charles也可以用於分析第三方應用的通訊協議。配合Charles 的SSL 功能,Charles 還可以分析Https 協議。

Charles 通過將自己設置成系統的網絡訪問代理服務器,使得所有的網絡訪問請求都通過它來完成,從而實現了網路封包的截取和分析。

Charles 是收費軟件,可以免費試用30 天。試用期過後,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過30 分鐘,並且啟動時將會有10 秒种的延時。因此,該付費方案對廣大用戶還是相當友好的,即使你長期不付費,也能使用完整的軟件功能。只是當你需要長時間進行封包調試時,會因為Charles 強制關閉而遇到影響。

Charles 主要的功能包括:

  • 截取Http 和Https 網絡封包。
  • 支持重發網絡請求,方便後端調試。
  • 支持修改網絡請求參數。
  • 支持網絡請求的截獲並動態修改。
  • 支持模擬慢速網絡。

軟體使用

1. 開始監聽所有連線

2. 觀看連線資訊

相關教學

取得Linux安裝的系統的版本


取得核心版本資訊

  1. uname -a

查看linux 系统核心版本及系統名稱

  1. cat /proc/version

查看目錄/proc下version的信息,也可以知道目前系統的核心版本名稱

取得作業系統版本資訊

  1. 查看 /etc/*-release
ls -l /etc/*-release
cat /etc/redhat-release

並可以用下面指令查看更詳細的說明

cat /etc/os-release


2. 使用 lsb_release 指令查詢
lsb_release 是一個用來查詢 Linux 發行版資訊的指令,但是並不是每一種 Linux 發行版預設都會安裝這個指令,使用時要碰運氣,像我的版本就沒有這個指令

Linux網路功能指令介紹

ifconfig

用來查詢系統的網路卡狀態

route

看你的網路通訊包傳送的路由情況

ping

用來察看對方網路是否有通

nslookup

用來查詢或反查詢 DNS 的指令,例如:

也可以用IP來查詢網址

traceroute

追查通訊包傳送的情況,例如我們要從 seednet 的網路上查詢到成大的代理伺服器的通訊狀況

線上練習Linux指令

有的時候我們可能需要練習Linux指令,但是又沒有一台Linux的主機
方法之一就是起一台虛擬機器,但是如果單純指是想要測試簡單的指令的話,線上有許多方便好用的工具可以供我們直接操作

JSLinux

網站連結:JSLinux
網站截圖

Copy.sh

網站連結:copy.sh
網站截圖:

Webminal

網站連結:webminal
網站截圖:

Linux Containers

網站連結:Linux Containers
網站截圖:

使用Plink快速在Linux伺服器下指令

軟體介紹

下載連結:Download
Plink是Putty工具裡面的一個小工具,多被使用在自動執行的部份
若我們可能在自動化部署檔案到伺服器的前後自動執行某些SSH的指令,可以使用PLink來做到這個需求。
Plink可以將連進server並執行某指令用一行指令便做到。

指令介紹


使用介紹

  • 自動連上(包含 username 與 passwd)
    c:\plink -ssh login.example.com -l(空格)名字 -pw(空格)密碼
  • 在遠端機器上, 批次執行一堆指令
    c:\plink -ssh login.example.com -l(空格)名字 -pw(空格)密碼 命令1;命令2

    ex:
    c:\plink -ssh login.example.com -l(空格)名字 -pw(空格)密碼 ls;echo Hello World;ls

參考資料

Linux 基本操作指令介紹

檔案操作相關

  • pwd: 顯示目前目錄
  • cd: 更換目錄
  • ls: 顯示檔案名稱與內容的指令(-a可顯示隱藏檔,-al同時顯示隱藏檔與詳細資料 )
  • cat: 將檔案內容列出的指令
  • more: 檔案太大的話,可以用 more 來一頁頁讀取喔(如: ls -al|more)
  • mkdir: 建立新的目錄
  • rm: 刪除的指令,如rm test.txt,如果要刪掉整個資料夾下的檔案,則可以加-irf,如rm -rf test
  • rmdir: 刪除資料夾的指令,但如果資料夾內有內容則需要使用rm -rf
  • mv: 移動檔案或目錄
  • cp: copy 的意思
  • find:尋找檔案的指令
  • whereis:相對於 find ,你也可以使用 whereis 這個指令來下達找尋的檔案,whereis 利用曾經找過的系統資訊內的資料去找檔案,所以速度會很快,不過,如果 whereis 找不到的話,並不代表該檔案真的不存在
  • chmod:變更檔案屬性的指令
  • chown:變檔案有擁有者
  • chgrp:改變檔案或目錄的『擁有群組』
  • df:察看硬碟空間的指令
  • du:用來察看目錄內所有檔案使用掉的空間的情況
  • ifconfig: 用來查詢目前我們這個系統的網路卡的狀況的指令,可以查詢 IP、子遮罩網路及網路卡的硬體資訊等等。
  • adduser username:新增使用者

Linux 設定開機自動執行程式

所有使用者登入自動執行指令

執行以下指令
vi /etc/profile

在裡面打入要執行的指令如下:
/home/gtwang/my_script.sh

然後記得要有執行權限
chmod +x /home/gtwang/my_script.sh

個別使用者登入自動執行指令

如果只是要讓個別使用者登入執行的程式,就寫在使用者個人的 ~/.bash_profile、~/.bash_login 或是 ~/.profile 當中,就看自己的家目錄下所使用的是那一個,就把指令加進去即可,bash 在使用者登入時,會依序尋找這三個檔案,它只會執行第一個找到的那一個,假設 ~/.bash_profile 這個檔案存在,它就會執行這一個,而後面兩個就不管了,以此類推。

依據不同執行類型修改不同設定檔

另外,/etc/bash.bashrc ~/.bashrc 也是很常被使用的 bash 設定檔,這兩個檔案的用途跟上面的 profile 設定檔很類似,不過有些差異:

  • profile 設定檔:登入型 shell(login shell)所執行的指令稿,例如使用者登入。
  • bashrc 設定檔:非登入型 shell 所執行的指令稿,例如開啟終端機視窗。

登出自動執行指令

若要設定使用者登出時所要自動執行的程式,可將指令寫在自己的 ~/.bash_logout 指令稿中(如果不存在,就自己建立一個),例如:
/home/gtwang/my_script2.sh
同樣要確認執行權限:
chmod +x /home/gtwang/my_script2.sh