Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Nodejs服务器部署

Nodejs服务器部署

作者头像
epoos
发布于 2022-06-06 07:43:40
发布于 2022-06-06 07:43:40
2.6K00
代码可运行
举报
文章被收录于专栏:epoos.comepoos.com
运行总次数:0
代码可运行

虽然PHP是“世界上最好的语言。” 但是我还是喜欢JS。 凡是可以用Javascript来写的应用,最终都会用Javascript来写。 近些年Nodejs异常的火爆,因此有一些服务端也开始使用js来写了。作为前端开发工程师,nodejs也是必须要掌握的一项技能了。 最近在网上买了个云服务器,于是想搭个Node服务出来。

第一步:Nodejs的安装

现在,在Window上和Mac上安装nodejs还是很方便的,去官网下载下来,下一步下一步下一步…就可以了。 可是在服务器上安装就稍微有些麻烦了,在服务端(ubuntu)安装的时候一般都是下载源码,手动编译的,这就显得有些麻烦了。 刚开始的时候还是有些坑。

方法一、通过源码编译安装

首先将nodejs的源码安装包下载下来,然后解压编译

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt-get update # 更新已安装的包 若提示权限不足,在前面加上sudo
wget https://nodejs.org/dist/v8.9.4/node-v8.9.4.tar.gz # 获取nodejs最新包,版本号可选最新的
tar xvf node-v8.9.4.tar.gz # 解压nodejs源码包
cd node-v8.9.4 
./configure 
make # make编译需要花较长的时间
make install # 如果发现权限异常,需要在命令前面加上sudo
cp /usr/local/bin/node /usr/sbin/ 
node -v  #v8.9.4 查看当前安装的Node的版本 

make的时候可能会报这个错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
WARNING: failed to autodetect C++ compiler version (CXX=g++)

解决办法,手动编译; 编译结束,执行make install

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt-get install build-essential
make install

如果没有报错或者已解决错误,完成上述步骤,nodejs在服务端的安装以及结束了。 接下来通过查看版本,检测是否安装成功

node安装完成

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node -v # 查看nodejs版本 v8.9.4
npm -v # 查看npm版本

nodejs安装目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which node # 利用which命令查看当前使用的nodejs可执行文件位置
where node # 利用where is 命令查看当前所有的nodejs可执行文件位置
方法二、通过二进制文件安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz # 获取nodejs最新包,版本号可选最新的
xz -d node-v8.11.2-linux-x64tar.xz # 两次解压
tar -xvf  node-v8.11.2-linux-x64tar

export PATH=/home/xxx/nodejs/node-v8.11.2-linux-x64/bin:$PATH # 在.bashrc 文件中追加此句,设置环境变量

第二步:将本地的小网站上传到服务器上去

首先确定服务器上的网站存放目录。

这里我将它放到/website/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp -r /Users/zsr/test ubuntu/@123.xxx.xxx.xxx:/website

或者用rsync

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rsync -a /Users/zsr/* root@118.193.173.25:~/website/

上传过长中出了一个错误,如果是直接上传到tmp就可以,其它的目录就会报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp permission denied

网上查了下是因为权限不足,于是试了下上传到tmp目录,发现可行,确定是权限的问题之后就将自己的目录权限设置一下,就能正常上传了。 权限问题需谨慎,这里给了最高权限,实际生产环境自己调整适当的权限。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# chmod 777 ./data1

第三步:安装mongodb

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt-get update
apt-get install mongo

如果不update会报如下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Unable to locate package mongo

第四步:安装pm2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g pm2

第五步:安装并配置Nginx解析

安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install nginx

查看nginx是否安装成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx -v

配置文件路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/etc/nginx

配置过程中遇到个坑,老是返回hello nginx页面

解决办法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
注释掉

/etc/nginx/nginx.conf 

里面的 

include /etc/nginx/sites-enabled/* 

这一行

然后增加如下nginx配置,将80端口反代理到项目端口 比如我在服务端写了个简单的node程序,端口为3000

配置代理如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen 80;
    server_name xxx.xxx.xxx.xxx;
    location / {
        proxy_pass http://xxx.xxx.xxx.xxx:3000;
    }
}

配置完毕,检测Nginx配置是否正确

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nginx -t

检测错误,则对应具体信息做修改 检测正确,重启Nginx 服务生效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo service nginx reload

然后访问xxx.xxx.xxx.xxx:80即可访问到Node程序了

至此服务端Node搭建网站告一段落 下一步就是申请域名了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
腾讯云从零部署 Nodejs 站点
该文介绍了如何从零开始部署一个基于Node.js、Express、MongoDB和Nginx的Web服务器,包括购买腾讯云服务器、安装和配置环境、部署应用程序和数据库、配置域名和SSL证书以及启动和停止服务器。
腾讯IVWEB团队
2017/02/01
15.9K3
腾讯云从零部署 Nodejs 站点
Node.js初识
之前写前后端分离的服务器的时候接触过一点点Node.js,查了点资料。这里就把学到的一些东西记录下来(
SimpleAstronaut
2022/08/09
3K0
玩转服务器---运行环境搭建
前面两篇文章,讲到了云服务的选购,以及域名的注册备案,那么我们项目上线的准备工作其实已经完成一半了。下一步其实就是在服务器上搭建我们的运行环境了。每个人的项目可能运行在不一样的环境,所以在这里我不准备一一介绍,我在这里以我的环境作为示例,我的个人博客后端服务器采用Node.js + MongoDB,所以环境搭建:Node.js + pm2 + MongoDB,前端我采用了Angular框架,因为前后端端口不一致,发起请求会跨域,所以我安装了nginx服务器,将前端项目打包后放在nginx的80端口,每次前端发起请求请求MongoDB数据库的数据, 就通过nginx反向代理,代理到4001端口,去取到服务端的数据,然后返还给前端进行页面的渲染。
创译科技
2019/06/02
2.8K0
从零开始发布一个采用 SpringBoot + Vue 开发前后端分离项目,必须的步骤整理
简介 从零开始搭建服务器到项目运行,整理一下需要的东西,后面补齐每个步骤的细节。springBoot项目不需要在服务器上另外安装tomcat,此步骤仅供参考,若有不足之处,请留言后期补齐完善。
子润先生
2021/06/25
5240
NodeJS全栈之服务器部署笔记
这篇是继续Nodejs全栈的文章,往期可以点击查阅: Nodejs全栈之开启https协议 Nodejs全栈之nginx配置文件 我选的操作系统是centos7,可以直接在镜像市场里直接购买,省去安装步骤;主要涉及到Nodejs的版本管理,mongodb,ngnix,docker。 阿里云设置安全组 主要在阿里云的网站控制台里设置: http 80 0.0.0.0/0o loo https 443/443 以下都是一些终端控制台的指令: 终端登录阿里云服务器: ssh root@xxx.xxx.xxx.x
mixlab
2018/04/17
1.4K0
linux环境node服务器配置流程
 Node 官网已经把 linux 下载版本更改为已编译好的版本了,我们可以直接下载解压后使用:
smy
2018/12/27
2.1K0
如何在Ubuntu 18.04上安装Elixir和Phoenix Framework
本教程将向您展示如何在Ubuntu 18.04服务器实例上安装Elixir和Phoenix frameworks以进行开发。
星哥玩云
2022/07/27
1.4K0
如何在Ubuntu 18.04上安装Elixir和Phoenix Framework
如何把Node项目部署到服务器上
国内用户如果没有特殊需求可以选择前三种,这里我阿里云举例,当然其他服务器的配置都是相通的。
越陌度阡
2023/02/13
4.6K0
如何把Node项目部署到服务器上
ubuntu搭建nodejs生产环境——快速部署手册
为什么不用CentOS而用Ubuntu作为生产环境的运行平台?这个我也比较好奇,公司订的只能沿用传统,从使用成本的角度来说,此举也是值得肯定的。 测试环境 腾讯云 Ubuntu 16.04 阿里云 Ubuntu 16.04 开启Root账号ssh登录 1.修改配置文件 使用命令:sudo vi /etc/ssh/sshd_config打开文件,找到配置: LoginGraceTime 120 PermitRootLogin prohibit-password 修改成: LoginGraceTi
磊哥
2018/07/04
1.7K0
云服务器安装node+nginx+MongoDB
很早就买了一个云服务器,在腾讯云上面买的,当时买了好几年,用了几百块吧。具体的配置如下
踏浪
2019/07/31
4K0
云服务器安装node+nginx+MongoDB
如何在Ubuntu 16.04上安装Node.js
Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。通过在前端和后端利用JavaScript,开发可以更加一致并在同一系统中进行设计。
angel_郁
2018/10/10
7.3K1
服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的
本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 loading ,3 秒内看到首屏内容的。
夜尽天明
2019/11/13
1.7K0
服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的
mall前端项目的安装与部署
下载地址:https://nodejs.org/dist/v8.9.4/node-v8.9.4-x64.msi
macrozheng
2019/07/22
2.2K0
mall前端项目的安装与部署
Ubuntu安装nodeJS
安装环境 ubuntu12.04 64bit  nodejs-v0.8.14.tar.gz  Node.js是一个基于google v8+javascript的服务端编程框架。但是Node.js又不是js应用,应该说是js的运行平台。它采用事件驱动、异步编程,为网络服务而设。  Node.js的性能不错,按照创始人Ryan Dahl的说法,性能是Node.js考虑的重要因素,选择c++和v8而不是ruby或者其他的虚拟机也是基于性能的目的。Node.js在设计上也是比较大胆,它以单进程、单线程模式运行,事件
庞小明
2018/03/07
1.4K0
nodes.js详细安装
Node.js安装包及源码下载地址为:https://nodejs.org/en/download/。
小小咸鱼YwY
2019/09/11
2.1K0
nodes.js详细安装
nodejs安装以及服务启动 转
//放在服务器后解压,我是linux,所以就下载linux,还需要注意事32位的系统还是64位的系统
双面人
2019/04/10
1.1K0
Linux 上安装 Node.js
Node 官网已经把 linux 下载版本更改为已编译好的版本了,我们可以直接下载解压后使用:
陈不成i
2021/07/09
1.2K0
Hexo博客的安装部署及多电脑同步
Hexo安装教程很多,我这里尽可能的讲的细一些,把容易踩坑的地方以及后期多电脑同步所遇到的问题列出来,以便给自己及大家参考。本文主要讲解安装部署后源文件同步问题,当然,你可以采用网盘方式进行同步,但是这种方式不够程序员,也不能进行版本控制,如果你是一个多系统(windows、mac、linux)爱好者,那我建议你还是和我一样,采用git的方式进行源文件管理。使用github和Hexo,在几秒内,即可利用靓丽的主题生成静态网页。
Techeek
2018/02/27
3.8K2
单机服务器部署Nginx/Node/Nuxt/React/NG,常规优化及自启脚本
PC官网(Angular6)/管理后台(umi+react)/移动端分享(Nuxt)/APP内嵌页(Nuxt)
CRPER
2018/12/27
1.1K0
Nodejs+socket.io搭建WebRTC信令服务器
我们在学习 WebRTC 时,首先要把实验环境搭建好,这样我们就可以在上面做各种实验了。
音视频_李超
2020/04/01
8.3K2
Nodejs+socket.io搭建WebRTC信令服务器
相关推荐
腾讯云从零部署 Nodejs 站点
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档