服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Ubuntu - 腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器

腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器

2021-11-30 16:02vajoy Ubuntu

本文将介绍如何给腾讯云上的 Ubuntu Server 12.04 LTS 64位主机安装 node 及 nginx,并简单配置反向代理。

本文将介绍如何给腾讯云上的 ubuntu server 12.04 lts 64位主机安装 node 及 nginx,并简单配置反向代理。

笔者在整个安装过程中遇到不少麻烦(不赘述),如果你希望少踩坑,可以按本文的步骤进行安装部署。
一. 新版 nodejs 安装

这里强烈推荐使用 nvm (node版本管理器),其它方式的安装或多或少都有些问题。

具体步骤如下:

1. 通过 git 指令下载nvm

执行指令如下,我们把nvm下载到 /root/git/ 中去(记得要先安装 git):

?
1
2
3
4
5
[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 文件,如果不清楚其位置,可以回到根目录执行

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

来搜索和获取结果:腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器
然后通过 vim 修改 ./etc/skel/.bashrc 文件(不过我个人是上方三个文件都做了同样的修改),在文件开头加入下面两行:

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

其中第一行是修改nvm镜像路径到阿里,第二行才是把 nvm 添加到系统环境中去。

保存后执行指令让配置生效:

?
1
#source .bashrc

3. 直接用nvm安装nodejs

执行指令

?
1
#nvm install node

便可安装新版本的nodejs,安装成功后,最新版的node就装在服务器上了:腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器
二. 安装 nginx

这里和node一样不推荐使用 apt-get/aptitude 形式安装,建议走源码编译安装。

1. 依赖安装和下载

确保安装了 gcc-c++  和 libpcre3-dev:

?
1
#aptitude install gcc-c++ libpcre3-dev

然后咱定位到 /home/ubuntu 去下载一些依赖包,并解压缩到该文件夹下:

?
1
2
3
4
5
6
7
#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 编译过程报错:腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器
推荐使用上方代码段提供的 pcre-8.36 版本。

留意下,如果在终端下载的速度太慢了,推荐用迅雷下载在本地后,再通过 filezilla 把文件同步到云主机上去,百试不爽~

2. 下载和解压 nginx

先到nginx官网找最新的源码包下载路径(截止本文时间,稳定版是 http://nginx.org/download/nginx-1.10.2.tar.gz),然后下载下来(我个人是下载到 /root 路径下):

?
1
2
3
4
[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 去:

?
1
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. 编译和安装

按顺序执行如下三条指令:

?
1
2
3
4
5
#./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 就安装完毕啦~

三. 启动 nginx

执行

?
1
#/home/ubuntu/nginx/sbin/nginx

可直接启动 nginx 服务,这时候在任意地方执行:

?
1
wget http://127.0.0.1

都可以下载到一份 index.html:腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器
这时候我们直接访问云主机公网 ip 地址,就能直接看到该默认页面:腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器
注意!如果这时无法通过公网ip访问页面,请确保云主机所处的安全组是允许所有端口访问的。


四. 执行一个node服务,并通过 nginx 配置实现反向代理

这里我们简单实现一个 node 页面,监听3000端口。

我们在本地先写一个 index.js 文件来耍一耍:

?
1
2
3
4
5
6
7
8
9
10
11
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”的输出:腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器
然后咱们把这个文件放到云主机去。

鉴于我已经挂到 github上,读者们可以直接通过如下指令来下载该文件:

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

p.s. 我个人下载到了“/root/node-project/”文件夹下,要执行node的话指令为:

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

ok,咱们接着先修改 nginx 配置。如果你忘了 nginx 的配置在哪里,可以执行这条指令来确定:

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

本文的nginx是安装在 /home/ubuntu 下的,所以其配置文件路径是“/home/ubuntu/nginx/conf/nginx.conf”,我们这样编辑它(加上红框部分的代码):腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器
这意味着当有请求路径为“/hello”时,nginx 会将请求代理到服务器的3000端口去(即node监听的端口)。

五. 重启 nginx 和 node

到这一步的时候别忘了两点 —— 1. 咱们修改 nginx 配置后还没重启nginx服务;2. 咱们还没有在云主机上跑node服务(上文仅仅是在本地电脑上跑了一次)。

所以我们分别执行如下指令(重启nginx+跑node):

?
1
2
3
#/home/ubuntu/nginx/sbin/nginx -s reload
 
#node /root/node-project/node-test/cp1/index

这时候直接访问 http://公网ip/hello,就能直接看到node跑起来的页面内容了:
腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理服务器

本文送给使用腾讯云的前端童鞋,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/vajoy/p/6084079.html

延伸 · 阅读

精彩推荐
  • UbuntuUbuntu下安装Chrome的方法分享

    Ubuntu下安装Chrome的方法分享

    本文给大家分享的是Ubuntu下安装Chrome的方法,安装的过程中发现还是挺麻烦的,就记录下来推荐给大家,有需要的小伙伴可以参考下。...

    Ubuntu教程网3862021-10-25
  • UbuntuUbuntu 15.04升级到Ubuntu 15.10的详细教程

    Ubuntu 15.04升级到Ubuntu 15.10的详细教程

    ubuntu15.04怎么升级到ubuntu15.10?又该升级系统了,但是很多人对ubuntu系统很不熟悉,下面我们一起来看看ubuntu15.04升级ubuntu15.10的详细教程,需要的朋友可以...

    服务器之家4562019-07-02
  • UbuntuUbuntu20.04开启root账户的方法步骤

    Ubuntu20.04开启root账户的方法步骤

    这篇文章主要介绍了Ubuntu20.04开启root账户的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    缀梦13002020-08-01
  • UbuntuUbuntu Gnome下如何修改应用图标icon?

    Ubuntu Gnome下如何修改应用图标icon?

    最近有些朋友问小编Ubuntu Gnome下如何修改应用图标icon?今天小编要为大家分享的是Ubuntu Gnome下修改应用图标icon的方法;有需要的朋友一起去看看吧...

    服务器之家6412019-06-01
  • UbuntuUbuntu17.10怎么添加日历事项? Ubuntu添加行程提醒的教程

    Ubuntu17.10怎么添加日历事项? Ubuntu添加行程提醒的教程

    Ubuntu17.10怎么添加日历事项?Ubuntu17.10系统中有一个日程管理功能,可以在日历中添加行程提醒,下面我们就来看看Ubuntu添加行程提醒的教程,需要的朋友可...

    服务器之家2812019-06-19
  • UbuntuWSL、WSL2与Ubuntu性能大PK

    WSL、WSL2与Ubuntu性能大PK

    科技媒体 Phoronix 对 Windows 10 May 2020 中 WSL 和 WSL 2 的性能进行了测试,参与测试的发行版为 Ubuntu 20.04 on WSL/WSL2 ,以及 Ubuntu 20.04 LTS,均被安装在除 Windows 之...

    开源中国29412020-06-23
  • UbuntuUbuntu安装和卸载CUDA和CUDNN的实现

    Ubuntu安装和卸载CUDA和CUDNN的实现

    这篇文章主要介绍了Ubuntu安装和卸载CUDA和CUDNN的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    夜雨飘零14632020-08-04
  • Ubuntu如何在ubuntu系统中安装pycharm工具并运行

    如何在ubuntu系统中安装pycharm工具并运行

    在Windows系统中安装pycharm,只需要下载安装包,然后根据指令一步一步操作;而在Linux系统中的Ubuntu中安装pycharm,需要下载安装包,还有安装相关的其他软件...

    百度经验12082019-10-21