ubuntu下安装nodejs并实现Nginx反向代理服务器的方法
一. 新版 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
这里和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,压缩包的下载地址都是在它们对应官网中找到的。
需要留意的点是,pcre 不要下载使用 pcre2 的,否则会导致 nginx 编译过程报错:
推荐使用上方代码段提供的 pcre-8.36 版本。
留意下,如果在终端下载的速度太慢了,推荐用迅雷下载在本地后,再通过 filezilla 把文件同步到云主机上去,百试不爽~
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 配置实现反向代理
这里我们简单实现一个 node 页面,监听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/`); });
执行 node index 的话,访问 http://localhost:3000/ 会有“hello world”的输出:
然后咱们把这个文件放到云主机去。
鉴于我已经挂到 github上,读者们可以直接通过如下指令来下载该文件:
#git clone https://github.com/vajoy/node-test.git
p.s. 我个人下载到了“/root/node-project/”文件夹下,要执行node的话指令为:
#node /root/node-project/node-test/cp1/index
ok,咱们接着先修改 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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

确认 Nginx 是否启动的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 检查端口 80 是否开放;3. 查看系统日志中 Nginx 启动消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

在 Linux 中,使用以下命令检查 Nginx 是否已启动:systemctl status nginx根据命令输出进行判断:如果显示 "Active: active (running)",则 Nginx 已启动。如果显示 "Active: inactive (dead)",则 Nginx 已停止。

在 Linux 中启动 Nginx 的步骤:检查 Nginx 是否已安装。使用 systemctl start nginx 启动 Nginx 服务。使用 systemctl enable nginx 启用在系统启动时自动启动 Nginx。使用 systemctl status nginx 验证启动是否成功。在 Web 浏览器中访问 http://localhost 查看默认欢迎页面。

如何在 Windows 中配置 Nginx?安装 Nginx 并创建虚拟主机配置。修改主配置文件并包含虚拟主机配置。启动或重新加载 Nginx。测试配置并查看网站。选择性启用 SSL 并配置 SSL 证书。选择性设置防火墙允许 80 和 443 端口流量。

启动 Nginx 服务器需要按照不同操作系统采取不同的步骤:Linux/Unix 系统:安装 Nginx 软件包(例如使用 apt-get 或 yum)。使用 systemctl 启动 Nginx 服务(例如 sudo systemctl start nginx)。Windows 系统:下载并安装 Windows 二进制文件。使用 nginx.exe 可执行文件启动 Nginx(例如 nginx.exe -c conf\nginx.conf)。无论使用哪种操作系统,您都可以通过访问服务器 IP

解决 Nginx 跨域问题有两种方法:修改跨域响应头:添加指令以允许跨域请求,指定允许的方法和头,以及设置缓存时间。使用 CORS 模块:启用模块并配置 CORS 规则,允许跨域请求、方法、头和设置缓存时间。

如何解决 Nginx 403 Forbidden 错误?检查文件或目录权限;2. 检查 .htaccess 文件;3. 检查 Nginx 配置文件;4. 重启 Nginx。其他可能原因还包括防火墙规则、SELinux 设置或应用程序问题。

要在 Nginx 中将访问地址设置为服务器 IP,请:配置服务器块,设置监听地址(如:listen 192.168.1.10:80)设置服务器名称(如:server_name example.com www.example.com),或将其留空以访问服务器 IP保存并重新加载 Nginx 以应用更改
