溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法

發(fā)布時間:2022-05-06 10:56:16 來源:億速云 閱讀:285 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹了ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法文章都會有所收獲,下面我們一起來看看吧。

一. 新版 nodejs 安裝

這里強烈推薦使用 nvm (node版本管理器),其它方式的安裝或多或少都有些問題。

具體步驟如下:

1. 通過 git 指令下載nvm

執(zhí)行指令如下,我們把nvm下載到 /root/git/ 中去(記得要先安裝 git):

[root@vm-22-180-ubuntu~]#pwd
/root
[root@vm-22-180-ubuntu~]#mkdir git
[root@vm-22-180-ubuntu~]#cd git
[root@vm-22-180-ubuntu~]#git clone https://github.com/creationix/nvm.git

2. 配置環(huán)境變量

這里是要修改 .bashrc 文件,如果不清楚其位置,可以回到根目錄執(zhí)行

#find . -name "*.bashrc" -print

來搜索和獲取結(jié)果:

ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法
然后通過 vim 修改 ./etc/skel/.bashrc 文件(不過我個人是上方三個文件都做了同樣的修改),在文件開頭加入下面兩行:

export nvm_nodejs_org_mirror=https://npm.taobao.org/mirrors/node
source ~/git/nvm/nvm.sh

其中第一行是修改nvm鏡像路徑到阿里,第二行才是把 nvm 添加到系統(tǒng)環(huán)境中去。

保存后執(zhí)行指令讓配置生效:

#source .bashrc

3. 直接用nvm安裝nodejs

執(zhí)行指令

#nvm install node

便可安裝新版本的nodejs,安裝成功后,最新版的node就裝在服務(wù)器上了:ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法
二. 安裝 nginx

這里和node一樣不推薦使用 apt-get/aptitude 形式安裝,建議走源碼編譯安裝。

1. 依賴安裝和下載

確保安裝了 gcc-c++  和 libpcre3-dev:

#aptitude install gcc-c++ libpcre3-dev

然后咱定位到 /home/ubuntu 去下載一些依賴包,并解壓縮到該文件夾下:

#wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
#wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz
#wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz

#tar -xzvf pcre-8.36.tar.gz
#tar -xzvf zlib-1.2.8.tar.gz
#tar -xzvf openssl-1.1.0c.tar.gz

這里咱們下載的是 nginx 模塊所依賴的 pcre/zlib/openssl,壓縮包的下載地址都是在它們對應(yīng)官網(wǎng)中找到的。

需要留意的點是,pcre 不要下載使用 pcre2 的,否則會導(dǎo)致 nginx 編譯過程報錯:ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法
推薦使用上方代碼段提供的 pcre-8.36 版本。

留意下,如果在終端下載的速度太慢了,推薦用迅雷下載在本地后,再通過 filezilla 把文件同步到云主機上去,百試不爽~

2. 下載和解壓 nginx

先到nginx官網(wǎng)找最新的源碼包下載路徑(截止本文時間,穩(wěn)定版是 http://nginx.org/download/nginx-1.10.2.tar.gz),然后下載下來(我個人是下載到 /root 路徑下):

[root@vm-22-180-ubuntu~]#cd
[root@vm-22-180-ubuntu~]#pwd
/root
[root@vm-22-180-ubuntu~]#wget http://nginx.org/download/nginx-1.10.2.tar.gz

然后解壓此壓縮包,并進入到文件夾 /nginx-1.10.2 去:

[root@vm-22-180-ubuntu~]#tar -xzvf nginx-1.10.2.tar.gz
[root@vm-22-180-ubuntu~]#cd nginx-1.10.2

3. 編譯和安裝

按順序執(zhí)行如下三條指令:

#./configure --prefix=/home/ubuntu/nginx --with-pcre=/home/ubuntu/pcre-8.36 --with-zlib=/home/ubuntu/zlib-1.2.8 --with-openssl=/home/ubuntu/openssl-1.1.0c

#make

#make install

它們的作用分別是:生成c源碼文件和makefile文件、生成二進制文件、將nginx安裝到指定目錄(/home/ubuntu/nginx)。

注意 ./configure 指令后的參數(shù)分別指定了 nginx 的安裝目錄及相關(guān)依賴模塊地址。

三. 啟動 nginx

執(zhí)行

#/home/ubuntu/nginx/sbin/nginx

可直接啟動 nginx 服務(wù),這時候在任意地方執(zhí)行:

wget http://127.0.0.1

都可以下載到一份 index.html:ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法
這時候我們直接訪問云主機公網(wǎng) ip 地址,就能直接看到該默認(rèn)頁面:ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法
注意!如果這時無法通過公網(wǎng)ip訪問頁面,請確保云主機所處的安全組是允許所有端口訪問的。
四. 執(zhí)行一個node服務(wù),并通過 nginx 配置實現(xiàn)反向代理

這里我們簡單實現(xiàn)一個 node 頁面,監(jiān)聽3000端口。

我們在本地先寫一個 index.js 文件來耍一耍:

const http = require('http');

const server = http.createserver((req, res) => {
 res.statuscode = 200;
res.setheader('content-type', 'text/plain');
res.end('hello world\n');
});

server.listen(3000, () => {
 console.log(`node server is now running/`);
});

執(zhí)行 node index 的話,訪問 http://localhost:3000/ 會有“hello world”的輸出:

ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法
然后咱們把這個文件放到云主機去。

鑒于我已經(jīng)掛到 github上,讀者們可以直接通過如下指令來下載該文件:

#git clone https://github.com/vajoy/node-test.git

p.s. 我個人下載到了“/root/node-project/”文件夾下,要執(zhí)行node的話指令為:

#node /root/node-project/node-test/cp1/index

ok,咱們接著先修改 nginx 配置。如果你忘了 nginx 的配置在哪里,可以執(zhí)行這條指令來確定:

#/home/ubuntu/nginx/sbin/nginx -t

本文的nginx是安裝在 /home/ubuntu 下的,所以其配置文件路徑是“/home/ubuntu/nginx/conf/nginx.conf”,我們這樣編輯它(加上紅框部分的代碼):ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法
這意味著當(dāng)有請求路徑為“/hello”時,nginx 會將請求代理到服務(wù)器的3000端口去(即node監(jiān)聽的端口)。

五. 重啟 nginx 和 node

到這一步的時候別忘了兩點 —— 1. 咱們修改 nginx 配置后還沒重啟nginx服務(wù);2. 咱們還沒有在云主機上跑node服務(wù)(上文僅僅是在本地電腦上跑了一次)。

所以我們分別執(zhí)行如下指令(重啟nginx+跑node):

#/home/ubuntu/nginx/sbin/nginx -s reload

#node /root/node-project/node-test/cp1/index

這時候直接訪問 http://公網(wǎng)ip/hello,就能直接看到node跑起來的頁面內(nèi)容了:
ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法

關(guān)于“ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“ubuntu下安裝nodejs并實現(xiàn)Nginx反向代理服務(wù)器的方法”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI