Node.js在Linux下的環境搭建及相關命令
一、VMware下載和安裝
1、下載地址
- 第一步:
- 第二步:
- 第三步:可以預設選擇最新版本
- 第四步:也可以預設選擇最新版本。如果沒有賬號必須先註冊一個賬號才能下載,如果已有賬號需登入賬號。
2、安裝
- 第一步:開啟下載好的.exe檔案,點選下一步
- 第二步: 接受協議點選下一步
- 第三步:可修改安裝路徑
- 第四步:可以取消這兩個選項,根據個人需求選擇。
- 第五步:預設下一步直至安裝成功!
- 第六步: 軟體安裝完成後,點選許可證開始進行啟用
開啟軟體包中的vmware16永久啟用金鑰文字,複製其中一條然後點選啟用即可(若失效自行百度即可)
ZF3R0-FHED2-M80TY-8QYGC-NPKYF
YF390-0HF8P-M81RQ-2DXQE-M2UT6
ZF71R-DMX85-08DQY-8YMNC-PPHV8
二、Centos下載和安裝
1、下載
- 第一步:點選 Download下載
- 第二步:根據電腦需求選擇版本
- 第三步: 隨便選一個國內映象便可下載(7版本的都可選擇)
- 第四步:選擇 DVD-2009.iso下載即可。
2、安裝
- 第一步: 雙擊桌面上的 VMware 按鈕開啟, 點選巨大的 "新建虛擬機器" 按鈕
- 第二步:選擇典型, 點選下一步。
在這個頁面如果系統沒喲匹配到你下載的 linux 安裝包, 需要手動選擇下。如果下載好映象檔案選擇下載好的映象檔案即可。
- 第三步:虛擬機器起一個名字
- 第四步:可修改安裝位置
- 第五步: 磁碟大小預設,一般選擇為:單個檔案,方便管理。
- 第六步: 一直等待即可。
- 第七步:登入賬號(之前設定的密碼登入)
三、Xshell和Xftp的下載和安裝
網上有很多的 Xshell 的破解版、綠色版。但是 Xshell 很多版本存在後門,或上傳使用者伺服器賬號密碼。這是很可怕的 , 伺服器的賬號、密碼有可能洩露。
大家千萬千萬不要圖方便去下載破解、綠色版。一旦公司伺服器被黑非常麻煩。同樣的公司資料庫地址千萬不要暴露到公網,如果要暴露公網,一定要設定白名單。
實際上官方針對個人賬戶是有提供免費版本來下載。
1、 下載
- 第一步:
- 第二步:名字隨便輸入,郵箱要輸入自己的,因為下載連結會發送到該郵箱,勾選兩者,可以獲取 Xshell 和 Xftp 的連結,因為 Xftp 開發過程也需要用到,建議勾選。
- 第三步:之後你的郵箱會收到一封郵件,郵箱中有下載地址,根據下載地址即可下載個人免費版,連結是有有效期的,如果過期的話,大家去官網重新走一遍流程即可 :
2、安裝
- 第一步:點選下一步
- 第二步:選擇免費
- 第三步:接受協議,下一步
- 第四步:自定義安裝路徑
- 第五步: 選擇下一步
- 第六步:預設即可
- Xftp安裝同上
四、Xshell、Xftp與虛擬機器的連結和使用
1、Xshell介紹
Xshell是一個用於MS Windows平臺的強大的SSH,TELNET,和RLOGIN終端模擬軟體。它使得使用者能輕鬆和安全地從Windows PC上訪問Unix/Linux主機
2、Xshell的使用
- 獲取CentOS(Linux)的ip地址(保證網路已經連線)
- Xshell連結Linux
- 新建會話:檔案 -> 新建
- 輸入名稱和ip地址(ip地址為剛才在虛擬機器上獲取的ip地址)
- 選擇接受:SSH
- 輸入密碼(自己之前設定的密碼)
- 連結成功
3、連線失敗
3.1 方法一
- 錯誤資訊:
Connecting to 192.168.70.129:22...
Could not connect to '192.168.70.129' (port 22): Connection failed.
- 檢視Centos7是否連線網路
沒有連線網路
- 顯示所有連線
輸入:
nmcli con show
- 連線網路
nmcli con up ens33
- 顯示錯誤資訊:
Connection activation failed: No suitable device found for this connection (device virbr0 not available because profile is not compatible with device (mismatching interface name)).
- 問題出現原因:MAC地址相同,導致衝突
克隆虛擬機器,預設它的網絡卡MAC地址依然是以前模板機的MAC,這樣MAC地址就會衝突,當系統使用NetworkManager來管理網絡卡時,NetworkManager就不允許MAC地址相同,就導致網絡卡直接起不來
- 解決方案
如果不打算用NetworkManager,那麼就直接關閉NetworkManager即可
檢查網路管理器
service network status
service NetworkManager status
發現NetworkManager是啟動的,由於我是手動配置ip的,所以要禁掉這個服務。
關閉方法
centos7:
systemctl stop networkmanager(臨時)
systemctl disable networkmanager (永久)
systemctl stop NetworkManager # 停止NetworkManager
systemctl mask NetworkManager # 禁用NetworkManager,類似Windows的禁用
systemctl disable NetworkManager # 開機不啟動
3.2 方法二
- 保證本地電腦的 服務 裡面的 VMware DHCP service 和 VMware NAT service 兩個服務是啟動的。
- 重啟網路服務
service network restart
重啟失敗
如果重啟成功:看能否 ping 通:
ping www.baidu.com
3.3 方法三
這個方法是比較簡單的,進入到 /etc/sysconfig/network-scripts 這個目錄,然後vim 開啟 ifcfg-ens33 這個檔案
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
檢視這個檔案中的 ONBOOT這一行是不是 yes, 如果不是,改成 yes,如果沒有這一行,加上這行 ONBOOT=yes 或者 ONBOOT="yes", 有沒有引號都一樣
最後按下 ESC , wq 退出檔案編輯,執行network 服務重啟
service network restart
最後測試網路是否連通
ping www.baidu.com
3.4 方法四
- 開啟對應的虛擬機器的虛擬機器設定,點選“網路介面卡”
- 選擇 NAT 模式,然後點確定
- 點選 “編輯”, 選擇虛擬網格編輯器
- 選中有 “NAT模式” 的那行記錄,然後確保圖中標記的兩個勾必須打上,如果沒有預設勾選,應該手動勾選 。然後點選 “NAT設定”
- 記錄下子網IP 、子網掩碼、閘道器這三個東西,待會需要用到
- 進入到 /etc/sysconfig/network-scripts 這個目錄,然後vim 開啟 ifcfg-ens33 這個檔案
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
- 在配置檔案的最後加上下面這些東西
IPADDR=192.168.70.3
NETMASK=255.255.255.0
GATEWAY=192.168.70.2
DNS1=8.8.8.8
DNS2=8.8.4.4
ZONE=public
- 錯誤資訊:
當前使用者沒有許可權進行這種操作:
E45: 'readonly' option is set (add ! to override)
1)第一種方法:如果有root許可權,可以輸入 :wq! 強行儲存退出。
2)第二種方法:
```js
按ESC
輸入 :set noreadonly
輸入 :wq就可儲存退出
```
3)利用 sudo vi 檔案路徑命名開啟要修改的檔案
按下i進入編輯模式,進行修改檔案,然後Esc退出編輯模式
最後:wq強制儲存並退出
- 錯誤資訊:
hyj is not in the sudoers file. This incident will be reported.
切換到root使用者下
方法為直接在命令列輸入:su,然後輸入密碼(即你的登入密碼,且密碼預設不可見)。
su
/etc/sudoers檔案預設是隻讀的,對root來說也是,因此需先新增sudoers檔案的寫許可權,命令是:
即執行操作:
chmod u+w /etc/sudoers
編輯sudoers檔案
即執行:vi /etc/sudoers
找到這行 root ALL=(ALL) ALL,在他下面新增xxx ALL=(ALL) ALL (這裡的xxx是你的使用者名稱)
ps:這裡說下你可以sudoers新增下面四行中任意一條
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
第一行:允許使用者youuser執行sudo命令(需要輸入密碼).
第二行:允許使用者組youuser裡面的使用者執行sudo命令(需要輸入密碼).
第三行:允許使用者youuser執行sudo命令,並且在執行的時候不輸入密碼.
第四行:允許使用者組youuser裡面的使用者執行sudo命令,並且在執行的時候不輸入密碼.
撤銷sudoers檔案寫許可權
命令:
chmod u-w /etc/sudoers
命令: su 指定要切換的使用者,如:
su # 預設切換到 root 使用者上
su root # 切換到 root 使用者
su taita i# 切換到 taitai 使用者上
- 切換到root下進行修改
-
重新啟動network服務, 輸入 service network restart
-
報錯資訊:
Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
[FAILED]
- 錯誤解決
停止並禁用虛擬機器 NetworkManager 服務
systemctl stop NetworkManager
systemctl disable NetworkManager
重啟網路服務
service network restart
4、Xftp介紹
Xftp是一個用於MS Windows平臺的強大的FTP和SFTP檔案傳輸程式。Xftp能安全地在Unix/Linux和Windows PC之間傳輸檔案。
5、Xftp的使用
- 設定連結會話
- 檔案傳輸操作
四、虛擬機器中安裝Node.js
1、輸入命令進行安裝
- 先安裝gcc-c++編譯環境和openssl
yum install gcc-c++ openssl-devel
輸入: y
- 不要使用最新版本的node.js,使用最新的在安裝express模組會提示錯誤,為了避免這個問題還是裝個0.5以上0.4以上的版本最好
wget http://nodejs.org/dist/v0.10.4/node-v0.10.4.tar.gz
- 解壓
tar –xvf node-v0.10.4.tar.gz
- 切換到安裝路徑
cd node-v0.4.8
- 檢視配置是否完整,如果顯示如下,則證明環境充分
./configure
- 編譯生成node
make;make install
- 將node複製到全域性環境
cp -f node /usr/bin/node
- 安裝npm
curl https://npmjs.org/install.sh | sh
- 安裝express
npm install express -g
報錯:npm ERR! Error: CERT_UNTRUSTED
- 解決辦法
npm config set strict-ssl false
五、VScode配置Linux開發環境
六、Linux基礎知識
1、apt-get和yum的區別
1.1 linux系統分類
一般來說linux系統基本上分兩大類:
RedHat系列:Redhat、Centos、Fedora等
Debian系列:Debian、Ubuntu等
1)RedHat 系列
- 常見的安裝包格式 rpm包,安裝rpm包的命令是“rpm -引數”
- 包管理工具 yum
- 支援tar包
2)Debian系列
- 常見的安裝包格式 deb包,安裝deb包的命令是“dpkg -引數”
- 包管理工具 apt-get
- 支援tar包
tar 只是一種壓縮檔案格式,它只是把檔案壓縮打包而已。
rpm 相當於windows中的安裝檔案,它會自動處理軟體包之間的依賴關係。
優缺點來說:
rpm一般都是預先編譯好的檔案,它可能已經繫結到某種CPU或者發行版上面了。
tar一般包括編譯指令碼,你可以在你的環境下編譯,所以具有通用性。
如果你的包不想開放原始碼,你可以製作成rpm,如果開源,用tar更方便了。
tar一般都是原始碼打包的軟體,需要自己解包,然後進行安裝三部曲,./configure, make, make install. 來安裝軟體。
安裝rpm包的命令是“rpm -引數”,安裝deb包的命令是“dpkg -引數”。而linux系統很方便和人性化的一點就是很多軟體或服務根本就不用我們去下載,直接使用相應的命令就可以管理了,可能這就是傳說中的 “雲”的概念。
1.2 yum
-
yum是RedHat系列的高階軟體包管理工具
- 主要功能是更方便的新增/刪除/更新RPM包。
- 它能自動解決包的依賴性問題。
- 它能便於管理大量系統的更新問題。
-
yum的特點
- 可以同時配置多個資源庫(Repository)
- 簡潔的配置檔案(/etc/yum.conf)
- 自動解決增加或刪除rpm包時遇到的倚賴性問題
- 保持與RPM資料庫的一致性
-
yum可以用於運作rpm包,例如在CentOS/RedHat系統上對某個軟體的管理
安裝:yum install <package_name>
解除安裝:yum remove <package_name>
更新:yum update <package_name>
1.3 apt-get
-
apt-get是Debian系列的高階軟體包管理工具
- 配置檔案/etc/apt/sources.list
- sudo apt-get install xxx
-
apt-get可以用於運作deb包,例如在Ubuntu上對某個軟體的管理:
安裝:apt-get install <package_name>
解除安裝:apt-get remove <package_name>
更新:apt-get update <package_name>