Linux安裝NodeJs并配合Nginx實(shí)現(xiàn)反向代理
本文介紹了Linux安裝NodeJs并配合Nginx實(shí)現(xiàn)反向代理 ,具體如下:
NodeJs是什么?
Node.js是一個(gè)JavaScript運(yùn)行環(huán)境(runtime)。實(shí)際上它是對(duì)Google V8引擎進(jìn)行了封裝。V8引 擎執(zhí)行Javascript的速度非??欤阅芊浅:?。
Node.js對(duì)一些特殊用例進(jìn)行了優(yōu)化,提供了替代的API,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好。
本地安裝(OS X)
版本選擇
- V4.4.4,長期支持版本,成熟可靠
- V6.2.0 穩(wěn)定版本,最新特性
這里我還是傾向于使用最新的版本~
下載安裝包
https://nodejs.org/dist/v6.2.0/node-v6.2.0.pkg
雙擊安裝安裝包
下一步下一步,就安裝完成了。
簡(jiǎn)單執(zhí)行
node -v
v6.2.0
本地運(yùn)行(OS X)
創(chuàng)建demo文件
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
寫入到文件example.js
執(zhí)行文件
node example.js
這時(shí)命令行輸出Server running at http://127.0.0.1:3000/
同時(shí)在瀏覽器輸入http://127.0.0.1:3000/,頁面輸出Hello World
關(guān)閉終端,頁面不再可用。
Express框架
我們這里采用Express框架進(jìn)行網(wǎng)站項(xiàng)目demo的搭建。
npm install express
node_modules1
創(chuàng)建demo.js文件
var express = require('express');
app = express();
app.use(express.static(__dirname + '/public'));
app.listen(8081)
在同級(jí)文件夾創(chuàng)建public文件夾,里面放入靜態(tài)文件1.jpg
在瀏覽器輸入http://127.0.0.1:8081/1.jpg
查看Response Headers,X-Powered-By:Express
服務(wù)器安裝(CentOS 7)
安裝node
curl --silent --location https://rpm.nodesource.com/setup | bash - yum -y install nodejs yum install npm
關(guān)于Node的版本
我上一步通過node安裝的版本號(hào)是v0.10.42,一開始以為錯(cuò)了,經(jīng)過查資料發(fā)現(xiàn),目前node共維護(hù)了4個(gè)版本
- v0.10.42 (LTS)
- v0.12.10 (LTS)
- 4.4.5 LTS
- 6.2
呵呵噠,真亂。
編寫demo實(shí)例
這部分的流程跟上面的一致。
安裝forever 并運(yùn)行
npm install forever -g forever start app.js
配置Nginx
cd /usr/local/nginx/conf/vhost/ vi demonode.coderfix.cn.conf
server {
listen 80;
server_name demonode.coderfix.cn;
location / {
proxy_pass http://127.0.0.1:8899;
}
}
Nginx解析域名,轉(zhuǎn)發(fā)給本地的nodejs的8899端口~
配置域名解析并訪問
http://demonode.coderfix.cn/
這樣就完成了nodejs和nginx的部署。
可能出現(xiàn)的問題
Nodejs服務(wù)多開導(dǎo)致報(bào)錯(cuò)
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:884:11)
at Server._listen2 (net.js:1022:14)
at listen (net.js:1044:10)
at Server.listen (net.js:1110:5)
at Object.<anonymous> (folderName/app.js:33:24)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)1
關(guān)掉之前啟動(dòng)的進(jìn)程,再開就好了。
ps aux | grep node kill -9 ****
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux檢測(cè)遠(yuǎn)程服務(wù)器端口的幾種方法
作為系統(tǒng)管理員、網(wǎng)絡(luò)工程師或應(yīng)用程序開發(fā)人員,需要檢查遠(yuǎn)程服務(wù)器上的端口是否打開,以便您可以判斷所檢查的服務(wù)是否正在運(yùn)行,所以本文給大家介紹了Linux檢測(cè)遠(yuǎn)程服務(wù)器端口的幾種方法,需要的朋友可以參考下2024-06-06
Linux利用CURL發(fā)送POST請(qǐng)求的示例詳解
在現(xiàn)代的網(wǎng)絡(luò)通信中,HTTP 協(xié)議扮演著至關(guān)重要的角色,其中,POST請(qǐng)求是HTTP協(xié)議中的一種方法,用于向服務(wù)器提交數(shù)據(jù)進(jìn)行處理,在 Linux 系統(tǒng)中,curl命令是一個(gè)強(qiáng)大的工具,它允許用戶發(fā)送各種類型的HTTP請(qǐng)求,包括POST請(qǐng)求,本文給大家介紹了Linux利用CURL發(fā)送POST請(qǐng)求2024-11-11
Linux 塊設(shè)備驅(qū)動(dòng)代碼編寫
這篇文章主要介紹了Linux 塊設(shè)備驅(qū)動(dòng)代碼編寫,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
centos yum php 7.x 無需刪除升級(jí)的方法
下面小編就為大家分享一篇centos yum php 7.x 無需刪除升級(jí)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03
CentOS 6.5編譯安裝Nginx 1.10.2+MySQL 5.5.52+PHP5.5.38
這篇文章主要介紹了CentOS 6.5編譯安裝Nginx 1.10.2+MySQL 5.5.52+PHP5.5.38,需要的朋友可以參考下2017-02-02
如何實(shí)現(xiàn)在Linux上執(zhí)行exe文件
這篇文章主要介紹了在Linux上執(zhí)行exe文件實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09

