一. 新版 nodejs 安裝
這裡強烈建議使用 nvm (node版本管理員),它方式的安裝或多或少都有些問題。
具體步驟如下:
1. 透過git 指令下載nvm
執行指令如下,我們把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. 配置環境變數
這裡是要修改.bashrc 文件,如果不清楚其位置,可以回到根目錄執行
#find . -name "*.bashrc" -print
來搜尋並取得結果:
然後透過vim 修改./etc/skel/.bashrc 檔案(不過我個人是上方三個檔案都做了同樣的修改),在檔案開頭加入下面兩行:
export nvm_nodejs_org_mirror=https://npm.taobao.org/mirrors/node source ~/git/nvm/nvm.sh
其中第一行是修改nvm鏡像路徑到阿里,第二行才是把nvm 加入到系統環境中去。
儲存後執行指令讓設定生效:
#source .bashrc
3. 直接用nvm安裝nodejs
執行指令
#nvm install node
便可安裝新版的nodejs,安裝成功後,最新版的node就裝在伺服器上了:
二. 安裝nginx
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,壓縮包的下載位址都是在它們對應官網中找到的。 需要留意的點是,pcre 不要下載使用 pcre2 的,否則會導致 nginx 編譯過程報錯:
#推薦使用上方程式碼片段提供的 pcre-8.36 版本。
2. 下載和解壓縮nginx
先到nginx官網找最新的源碼包下載路徑(截止本文時間,穩定版是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. 編譯與安裝
依序執行以下三條指令:#./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 指令後的參數分別指定了 nginx 的安裝目錄及相關依賴模組位址。
三. 啟動nginx
執行#/home/ubuntu/nginx/sbin/nginx可直接啟動nginx 服務,這時候在任何地方執行:
wget http://127.0.0.1都可以下載到一份index.html:
這時候我們直接存取雲端主機公網ip 位址,就能直接看到該預設頁面:
注意! 如果這時無法透過公網ip存取頁面,請確保雲端主機所處的安全群組是允許所有連接埠存取的。
四. 執行一個node服務,並透過 nginx 設定實現反向代理
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/`); });執行node index 的話,訪問http://localhost:3000/ 會有「hello world 」的輸出:
然後咱們把這個檔案放到雲端主機去。
#git clone https://github.com/vajoy/node-test.gitp.s. 我個人下載到了「/root/node-project/」資料夾下,要執行node的話指令為:
#node /root/node-project/node-test/cp1/indexok,咱們接著先修改nginx 設定。如果你忘了 nginx 的設定在哪裡,可以執行這條指令來確定:
#/home/ubuntu/nginx/sbin/nginx -t
本文的nginx是安装在 /home/ubuntu 下的,所以其配置文件路径是“/home/ubuntu/nginx/conf/nginx.conf”,我们这样编辑它(加上红框部分的代码):
这意味着当有请求路径为“/hello”时,nginx 会将请求代理到服务器的3000端口去(即node监听的端口)。
五. 重启 nginx 和 node
到这一步的时候别忘了两点 —— 1. 咱们修改 nginx 配置后还没重启nginx服务;2. 咱们还没有在云主机上跑node服务(上文仅仅是在本地电脑上跑了一次)。
所以我们分别执行如下指令(重启nginx+跑node):
#/home/ubuntu/nginx/sbin/nginx -s reload #node /root/node-project/node-test/cp1/index
这时候直接访问 http://公网ip/hello,就能直接看到node跑起来的页面内容了:
以上是ubuntu下安裝nodejs並實作Nginx反向代理伺服器的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。

NGINXUnit是一個開源應用服務器,支持多種編程語言,提供動態配置、零停機更新和內置負載均衡等功能。 1.動態配置:無需重啟即可修改配置。 2.多語言支持:兼容Python、Go、Java、PHP等。 3.零停機更新:支持不中斷服務的應用更新。 4.內置負載均衡:可將請求分發到多個應用實例。

NGINXUnit優於ApacheTomcat、Gunicorn和Node.js內置HTTP服務器,適用於多語言項目和動態配置需求。 1)支持多種編程語言,2)提供動態配置重載,3)內置負載均衡功能,適合需要高擴展性和可靠性的項目。

NGINXUnit通過其模塊化架構和動態重配置功能提高了應用的性能和可管理性。 1)模塊化設計包括主控進程、路由器和應用進程,支持高效管理和擴展。 2)動態重配置允許在運行時無縫更新配置,適用於CI/CD環境。 3)多語言支持通過動態加載語言運行時實現,提升了開發靈活性。 4)高性能通過事件驅動模型和異步I/O實現,即使在高並發下也保持高效。 5)安全性通過隔離應用進程提高,減少應用間相互影響。

NGINXUnit可用於部署和管理多種語言的應用。 1)安裝NGINXUnit。 2)配置它以運行不同類型的應用,如Python和PHP。 3)利用其動態配置功能進行應用管理。通過這些步驟,你可以高效地部署和管理應用,提升項目效率。

NGINX更适合处理高并发连接,而Apache更适合需要复杂配置和模块扩展的场景。1.NGINX以高性能和低资源消耗著称,适合高并发。2.Apache以稳定性和丰富的模块扩展闻名,适合复杂配置需求。

NGINXUnit通過其動態配置和高性能架構提升應用的靈活性和性能。 1.動態配置允許在不重啟服務器的情況下調整應用配置。 2.高性能體現在事件驅動和非阻塞架構以及多進程模型上,能夠高效處理並發連接和利用多核CPU。

NGINX和Apache都是強大的Web服務器,各自在性能、可擴展性和效率上有獨特的優勢和不足。 1)NGINX在處理靜態內容和反向代理時表現出色,適合高並發場景。 2)Apache在處理動態內容時表現更好,適合需要豐富模塊支持的項目。選擇服務器應根據項目需求和場景來決定。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具