详解Linux服务器中部署Nodejs项目的方法

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

登录服务器

采用 GitBash 或者 Xshell 或者 CMD 等终端登录连接到服务器

ssh 用户名@ip地址

假如第一次使用服务器先更新下,以下程序基本采用 Yum 源的安装方式:

yum update -y

Yum 命令

// 1 安装 yum install package // 安装指定的安装包package // 2 更新和升级 yum update // 全部更新 yum update package // 更新指定程序包package yum check-update // 检查可更新的程序 yum upgrade package // 升级指定程序包package // 3 查找和显示 yum info // 列出所有可以安装或更新的包的信息 yum info package //显示安装包信息package yum list // 显示所有已经安装和可以安装的程序包 yum list package // 显示指定程序包安装情况package yum search package // 搜索匹配特定字符的package的详细信息 // 4 删除程序 yum remove | erase package // 删除程序包package yum deplist package // 查看程序package依赖情况 // 5 清除缓存 yum clean packages // 清除缓存目录下的软件包 yum clean headers // 清除缓存目录下的 headers yum clean oldheaders // 清除缓存目录下旧的 headers yum clean, yum clean all // (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers

Git 安装

服务器下安装 git;开发源码上传服务器的方式可以使用 传统的 scp 或者 ftp 方式,但这里使用 Git 流来管理,在服务器端执行 git 操作;

2.1、查看是否安装了git

rpm -qa|grep git 或者 git –version 或者 yum info git

详解Linux服务器中部署Nodejs项目的方法插图

详解Linux服务器中部署Nodejs项目的方法插图1

若已经安装,需要先卸载。卸载命令如下:rpm -e –nodeps git 或者 rpm -e git

详解Linux服务器中部署Nodejs项目的方法插图2

2.2、安装Git

yum install git

详解Linux服务器中部署Nodejs项目的方法插图3

输入y,并回车

详解Linux服务器中部署Nodejs项目的方法插图4

再使用 rpm -qa|grep git 来 或者 git version 查看是否已经安装好了Git。

详解Linux服务器中部署Nodejs项目的方法插图5

2.3、克隆远程项目到服务器

Node 安装

服务器下安装,选择以下任意一种方法部署Node.js环境;

3.1、使用二进制文件安装

该部署过程使用的安装包是已编译好的二进制文件。解压之后,在bin文件夹中就已存在node和npm,无需重复编译。 完成以下操作,使用二进制文件部署Node.js环境: 下载Node.js安装包

wget nodejs.org/dist/v6.9.5…

解压文件

tar xvf node-v6.9.5-linux-x64.tar.xz

创建软链接,您就可以在任意目录下直接使用node和npm命令

ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm

查看 node、npm 版本

node -v npm -v

至此,Node.js环境已安装完毕。软件默认安装在/root/node-v6.9.5-linux-x64/目录下

如果需要将该软件安装到其他目录(例如:/opt/node/)下,请进行如下操作:

mkdir -p /opt/node/ mv /root/node-v6.9.5-linux-x64/* /opt/node/ rm -f /usr/local/bin/node rm -f /usr/local/bin/npm ln -s /opt/node/bin/node /usr/local/bin/node ln -s /opt/node/bin/npm /usr/local/bin/npm

3.2、使用 NVM 管理多版本(yum 安装)

NVM(Node Version Manager)是Node.js的版本管理软件,使您可以轻松在Node.js各个版本间进行切换。适用于长期做node开发的人员或有快速更新node版本、快速切换node版本的场景

完成以下操作,使用NVM安装多个 Node.js 版本:

使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本

yum install git

git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe –abbrev=0 –tags`

激活NVM

echo “. ~/.nvm/nvm.sh” >> /etc/profile source /etc/profile

列出Node.js的所有版本

nvm list-remote

安装多个Node.js版本

nvm install v14.0.0 -g nvm install v14.10.0 -g

运行nvm ls查看已安装的 Node.js 版本,当前使用的版本为v7.4.0。返回结果如下所示

[root@iZXXXXZ .nvm]# nvm ls v6.9.5 -> v7.4.0 system stable -> 7.4 (-> v7.4.0) (default) unstable -> 6.9 (-> v6.9.5) (default)

运行nvm use v7.4.0切换Node.js版本至v7.4.0。返回结果如下所示。

[root@iZXXXXZ .nvm]# nvm use v7.4.0 Now using node v7.4.0

Nginx 部署

服务器下安装;

sudo yum install -y nginx // 检测是否安装成功,验证 Nginx 配置是否正确; nginx -t 启动命令 service nginx start 停止命令 service nginx stop 重启命令 service nginx restart # config: /etc/nginx/nginx.conf 安装目录 # config: /etc/sysconfig/nginx # pidfile: /var/run/nginx.pid 日志文件在var/log/nginx

Pm2 安装

工程项目内安装,cd 至项目内;

npm i pm2 -g

启动项目

pm2 start app // 实际执行文件在app 工程下的 index.js

pm2 常用命令:

// 安装 sudo npm i pm2 -g –watch:监听文件变化 // 2表示启动多少实例 pm2 start app.js –watch i 2 // 根据机器cpu核心数最大限度利用资源 pm2 start app -i max // 查看运行的进程 pm2 ls // 关闭 pm2 stop app pm2 stop all // 重启 pm2 restart app

我们也可以在项目中建一个 process.yml 配置文件

apps: – script : app.js intance : 2 watch : true env : NODE_ENV : production

然后执行

pm2 start process.yml

MongoDB 安装

工程项目内安装;使用 Yum 源安装;

配置系统yum源

vi /etc/yum.repos.d/mongodb-org-4.4.repo 添加以下信息:

[mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc name # 名称 baseurl # 获得下载的路径 gpkcheck=1 # 表示对从这个源下载的rpm包进行校验; enable=1 # 表示启用这个源。 gpgkey # gpg验证

最新 MongoDB 配置地址:

docs.mongodb.com/manual/tuto…

保存退出: :wq 退出不保存 :wq!

安装MongoDB

sudo yum install -y mongodb-org

验证

rpm -qa |grep mongodb rpm -ql mongodb-org-server

运行结果分别如下图:

详解Linux服务器中部署Nodejs项目的方法插图6

启动MongoDB(常用指令)

// 开启MongoDB sudo service mongod start 或者 systemctl start mongod.service sudo chkconfig mongod on # 加入开机启动 sudo service mongod restart # 重启MongoDB // 关闭MongoDB sudo service mongod stop # 关闭防火墙 // 卸载MongoDB sudo yum erase $(rpm -qa | grep mongodb-org) # 卸载MongoDB sudo rm -r /var/log/mongodb # 删除日志文件 sudo rm -r /var/lib/mongo # 删除数据文件

实现远程连接Mongodb

修改绑定 ip 默认127.0.0.1 只允许本地连接, 所以修改为 bindIp:0.0.0.0,退出保存;.1

vi /etc/mongod.conf // 编辑以下内容 // network interfaces net: port: 27017 bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

重启MongoDB

sudo service mongod restart 复制代码

开放对外端口,关闭防火墙

iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 27017 -j ACCEPT

远程连接

// 启动 MongoDB 服务,后面是服务器公网 ip 地址 + 默认端口 27017 mongo 10.128.218.14:270171.0 创建用户,设置账号,密码,权限// admin数据库(管理使用) > use adminSwitched to db admin > db.createUser({ user:”root”, pwd:”123456″, roles:[“root”] }) Successfully added user: { “user” : “root”, “roles” : [ “root” ] } // 其他数据库 test (用作开发使用) > use test switched to db test > db.createUser({ user:”admin”, pwd:”123456″, roles:[“readWrite”, “dbAdmin”] }) Successfully added user: { “user” : “root”, “roles” : [ “root” ] }2.0 修改 mongodb.conf 文件,启用身份验证vi /etc/mongod.conf security: authorization: “enabled” # disable or enabled3.0 重启 MongoDB sudo service mongod restart 4.0 用户认证> use admin switched to db admin > db.auth(“root”, “123456”) 1 // 授权成功 // 其他常用命令 db.updateUser(user, writeConcern) # 更新用户 db.dropUser(test) # 删除用户5.0 远程连接// 终端连接 mongo 10.128.218.14:27017/database -u username -p password // mongoose方式连接(项目内的方式) mongoose.connect(mongodb://admin:123456@10.128.218.14:27017/test?options…, {useNewUrlParser: true}); # 用户名:密码@域名或者服务器公网IP:端口/数据库名称?配置项

Window本地启动 MongoDB:

1.0 管理员身份打开 cmd ;

2.0 进入本地 MongoDB 安装目录 cd C:Program FilesMongoDBServer4.4

3.0 执行 net start mongodb

详解Linux服务器中部署Nodejs项目的方法插图7

其他命令

1、端口被占用了:检查端口占用命令. 根据报错提示, 我这里检查的是 4000 端口:

lsof -i:4000

详解Linux服务器中部署Nodejs项目的方法插图8

2、杀掉当前进程

kill 2805

在执行

npm run dev

可以了!!! 查看服务器个程序占用内存大小

du -h –max-depth=1

详解Linux服务器中部署Nodejs项目的方法插图9

Linux shell 脚本

自己编写服务运行脚本,直接在服务器上运行,下面是运行指令,脚本内容这里就不展示了,可以自己补充 xshell 脚本相关知识。

sh run.sh // 启动服务脚本; sh stop.sh // 启动服务脚本; netstat -nltp // 当前服务器端口状态;
免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容