手把手教你把nodejs部署到linux上跑出hello world
從事前端一年多了對(duì)于 linux 服務(wù)部署一直是一無(wú)所知, 知道前段時(shí)間萌發(fā)了個(gè)想法, 我怎么能像運(yùn)維的同學(xué)一樣把自己的代碼放到一個(gè) linux 的服務(wù)器上. 于是便開始了踩坑之旅, 這里順便記錄下.
ps: 本文中需要下載的文件包括:
- VMware 下載
- linux
- nodejs
- xshell
文件較大, 大家在上車動(dòng)手之前可以先準(zhǔn)備好下載文件在搞起來(lái). 反正我是打了好幾局 LOL 才下載完的.
首先安裝 VMware
1. 下載 VMware
因?yàn)槲覀儧]有在 linux 上編程的必要(除非你是個(gè)大牛 || 達(dá)人), 所以我們選擇了在虛擬機(jī)上安裝 linux, 當(dāng)前主流的虛擬機(jī)平臺(tái)有 VMware 和 virtualbox, 前者付費(fèi), 后者為免費(fèi)版. 大家可隨意安裝, 我們這里使用 VMware
2. 安裝 VMware
雙擊下載的安裝包文件, 開始安裝 ...
a. 對(duì)于有強(qiáng)迫癥的我這種界面直接下一步的, 老鐵沒毛病 ^-^
b. 這里你要是不同意就然后就沒喲然后了 v_v
c. 這里到了勾重點(diǎn)的時(shí)候, 對(duì)于一些有潔癖的程序員不愿意把應(yīng)用軟件安裝到自己的 c 盤, 需要點(diǎn)擊這個(gè)界面的更改按鈕
d. 不知道你有沒有神奇的操作, 作為懶人, 我只是直接把 C 替換成了 D
e. 然后就是瘋狂的下一步 --> 最后點(diǎn)一下安裝, 電腦就開始干活兒啦
f. 安裝完成, 彈出以下界面, 這里我們點(diǎn)擊許可證按鈕(這里強(qiáng)烈推薦大家購(gòu)買正版)
g. 進(jìn)入許可頁(yè)面輸入界面后我不知不覺的想到了度娘, 在此, 我再次強(qiáng)烈建議大家使用正版軟件.
h. 在最后的完成頁(yè)面點(diǎn)擊完成, 至此 VMware 安裝完成
其次安裝 linux
1. 下載 linux
關(guān)于 linux 誕生的神話這里就不贅述了, 我們直接上截圖, 上步奏.
下載地址://www.dbjr.com.cn/softs/188482.html
2. 安裝 linux
a. 雙擊桌面上的 VMware 按鈕打開, 點(diǎn)擊巨大的 "新建虛擬機(jī)" 按鈕
b. 選擇典型, 點(diǎn)擊下一步, 在這個(gè)頁(yè)面如果系統(tǒng)沒喲匹配到你下載的 linux 安裝包, 需要手動(dòng)選擇下
c. 在這里你需要給你的 虛擬機(jī)起一個(gè)名字
d. 老規(guī)矩 C->D
e. 這些東西不怎么會(huì), 直接下一步, 完成 虛擬機(jī)配置完成.
f. VMware 的好處在于, 到目前為止, 我們什么都不用干了, 你可以撩撩妹子, 打局 LOL. 因?yàn)槭O碌幕顑? VMware 都幫我們干了.
g. 安裝完成后進(jìn)入了我們憧憬的 linux 界面, 沒有想象的那么糟糕 ^-^
h. 使用 xshell 鏈接 linux
a) 安裝 xshell 實(shí)在是沒有難度這里就不說(shuō)了, 首先我們拿到虛擬機(jī)的 ip
點(diǎn)擊 linux 按鈕 -> 在密碼框輸入我們安裝虛擬機(jī)是設(shè)置的密碼 -> 完成基本設(shè)置后 -> 即可進(jìn)入
liunx 桌面 -> 右擊 -> open in terminal 即可打開 liunx 控制臺(tái) 輸入 ifconfig 指令 回車
b) 打開 xshell 使用 alt + n 快捷鍵
主機(jī)名字地方輸入前一步獲取的 ip
c) 在xshell 中輸入 ifconfig 輸出的內(nèi)容同在虛擬機(jī)中輸出一直, xshell 鏈接成功
1、進(jìn)入安裝目錄
cd /usr/local/
2、上傳 nodejs 安裝包
rz -> 選擇已經(jīng)下載的 node 安裝包文件
3、解壓 nodejs 安裝包
xz -d node-v8.1.2-linux-x64.tar.xz tar -xvf node-v8.1.2-linux-x64.tar
4、改名
mv node-v8.1.2-linux-x64 node
5、添加環(huán)境變量
vim /etc/profile -> 并在文件的末尾添加三行 (vim 操作請(qǐng)自行百度) export NODE_HOME=/usr/local/node export PATH=$PATH:$NODE_HOME/bin export NODE_PATH=$NODE_HOME/lib/node_modules 配置完成后執(zhí)行 source /etc/profile 在命令行中輸入 node -v 是不是好使了 ^-^ 為了保證每個(gè)賬戶下該配置均可用需要 vim /root/.bashrc 并在這個(gè)文件的末尾加上 source etc/profile 萬(wàn)事大吉 撒花.....
6、創(chuàng)建 hello world 程序
mkdir -p /usr/local/demo/ vim /usr/local/demo/helloworld.js
在 helloworld.js 文件中輸入以下內(nèi)容
var http = require('http'); http.createServer(function(req, res) { res.end('hello world...') }).listen(8080); console.log('服務(wù)已啟動(dòng), 端口8080......')
此時(shí)我們就可以通過(guò)虛擬機(jī)本機(jī)訪問到服務(wù)啦
通過(guò)虛擬機(jī)訪問node服務(wù)
但是在物理主機(jī)中并不能訪問
這是為什么呢???關(guān)閉防火墻
百度了半天發(fā)現(xiàn)原來(lái)是應(yīng)為虛擬機(jī)開啟了防火墻, 所以物理主機(jī)沒法訪問到. 執(zhí)行以下兩個(gè)指令即可.
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall開機(jī)啟動(dòng)
打開瀏覽器訪問 http://192.168.79.128:8080/
本文記錄了我的 nodejs 初始踩坑之旅, 希望可以幫助新手同學(xué), 同時(shí)希望大神能夠不吝賜教.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node.js同步/異步文件讀寫-fs,Stream文件流操作實(shí)例詳解
這篇文章主要介紹了node.js同步/異步文件讀寫-fs,Stream文件流操作,結(jié)合實(shí)例形式詳細(xì)分析了node.js針對(duì)文件的同步/異步讀寫與文件流相關(guān)操作技巧,需要的朋友可以參考下2023-06-06如何用nodejs給C#寫一個(gè)數(shù)據(jù)表的實(shí)體類生成工具
這篇文章主要介紹了如何用nodejs給C#寫一個(gè)數(shù)據(jù)表的實(shí)體類生成工具,對(duì)nodejs感興趣的同學(xué),可以參考下2021-05-05利用Node.js和MySQL實(shí)現(xiàn)創(chuàng)建API服務(wù)器
這篇文章主要為大家詳細(xì)介紹了如何使用Node.js和MySQL創(chuàng)建API服務(wù)器的步驟,這也是從前端邁向全棧的一個(gè)開始,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-01-01node.JS md5加密中文與php結(jié)果不一致的解決方法
本篇文章主要介紹了node.JS md5加密中文與php結(jié)果不一致的解決方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05詳解如何在Node.js的httpServer中接收前端發(fā)送的arraybuffer數(shù)據(jù)
這篇文章主要介紹了詳解如何在Node.js的httpServer中接收前端發(fā)送的arraybuffer數(shù)據(jù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11nodeJs爬蟲獲取數(shù)據(jù)簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了nodeJs爬蟲獲取數(shù)據(jù)簡(jiǎn)單實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-03-03node實(shí)現(xiàn)定時(shí)發(fā)送郵件的示例代碼
本篇文章主要介紹了node實(shí)現(xiàn)定時(shí)發(fā)送郵件的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08