>웹 프론트엔드 >JS 튜토리얼 >Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

青灯夜游
青灯夜游앞으로
2021-05-06 10:34:573643검색

이 글에서는 Linux에 NodeJs 프로젝트를 배포하는 방법을 자세히 소개하고 Linux 서버에 NodeJs 프로젝트를 배포하는 방법을 단계별로 설명합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

서버에 로그인

GitBash, Xshell 또는 CMD를 사용하여 로그인하고 서버에 연결하세요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 프로젝트를 배포하는 방법에 대한 자세한 설명

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

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

2.2、安装Git

yum install git

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

输入y,并回车

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

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

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

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

Node 安装

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

3.1、使用二进制文件安装

该部署过程使用的安装包是已编译好的二进制文件。解压之后,在bin文件夹中就已存在nodenpm

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

처음 사용하실 경우 서버를 먼저 업데이트 해주세요. 다음 프로그램은 기본적으로 Yum 소스 설치 방법을 사용합니다:
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

Yum 명령

node -v
npm -v

Git 설치

서버 아래에 git를 설치하세요. 기존 scp 또는 를 사용할 수 있습니다. ftp는 소스 코드 업로드 서버 > 메소드를 개발하지만 여기서는 Git 흐름을 사용하여 관리하고 git 작업은 서버 측에서 수행됩니다.

nodenpm命令
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

查看 nodenpm 版本

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

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

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

echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile

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

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

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

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

yum install git

nvm list-remote

激活NVM

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

列出Node.js的所有版本

[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)

安装多个Node.js版本

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

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

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

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

npm i pm2 -g

Nginx 部署

服务器下安装;

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

Pm2 安装

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

// 安装
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

启动项目

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

pm2 常用命令:

pm2 start process.yml

我们也可以在项目中建一个 process.yml2.1.git 설치 여부 확인

[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验证

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

이미 설치되어 있는 경우 먼저 제거해야 합니다. 제거 명령은 다음과 같습니다: rpm -e --nodeps git 또는 rpm -e git

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

2.2, Git 설치

yum install git

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명MongoDB

y를 입력하고 Enter 누르기🎜🎜Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명🎜🎜 그런 다음 rpm -qa|grep git 또는 git version을 사용하여 Git이 설치되었는지 확인하세요. 🎜🎜Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명🎜

🎜2.3. 원격 프로젝트를 서버에 복제🎜🎜

🎜노드 설치🎜🎜🎜서버 아래에 설치하고 다음 중 하나를 선택하세요. Node.js 환경 배포 방법 🎜

🎜3.1. 바이너리 파일을 사용하여 설치 🎜🎜🎜이 배포 프로세스에 사용되는 설치 패키지는 컴파일된 바이너리 파일입니다. 압축을 푼 후에는 bin 폴더에 nodenpm이 이미 존재하므로 다시 컴파일할 필요가 없습니다. 바이너리를 사용하여 Node.js 환경을 배포하려면 다음 작업을 완료하세요. Node.js 설치 패키지를 다운로드하세요🎜🎜🎜wget 🎜nodejs.org/dist/v6.9.5…🎜🎜🎜🎜파일 압축을 푼 후🎜
保存退出:
:wq

退出不保存
:wq!
🎜소프트 링크를 생성하고 node를 직접 사용할 수 있습니다. 모든 디렉토리 > 및 npm 명령🎜
sudo yum install -y mongodb-org
🎜nodenpm🎜
rpm -qa |grep mongodb

rpm -ql mongodb-org-server
🎜 버전을 확인하세요. 이때 Node.js 환경은 설치되었습니다. 소프트웨어는 기본적으로 /root/node-v6.9.5-linux-x64/ 디렉토리에 설치됩니다. 소프트웨어를 다른 디렉토리(예: /opt/)에 설치해야 하는 경우. node/ code>), 다음을 수행하십시오: 🎜<pre class="brush:js;toolbar:false;">// 开启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 # 删除数据文件</pre><h2 data-id="heading-8">🎜3.2. NVM을 사용하여 여러 버전 관리(yum 설치) 🎜🎜🎜NVM(Node Version Manager)은 Node.js 버전 간에 쉽게 전환할 수 있게 해주는 Node.js 버전 관리 소프트웨어입니다. 오랫동안 노드 개발을 해왔거나 노드 버전을 빠르게 업데이트하거나 노드 버전을 빠르게 전환해야 하는 사람들에게 적합합니다🎜🎜다음 작업을 완료하고 NVM을 사용하여 여러 Node.js 버전을 설치하세요.🎜🎜git을 사용하여 복제 소스 코드를 로컬 <code> ~/.nvm 디렉터리에 복사하고 최신 버전을 확인하세요🎜🎜yum install git🎜
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.
🎜NVM 활성화🎜
sudo service mongod restart 
复制代码
🎜Node.js의 모든 버전 나열🎜
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
🎜여러 Node.js 버전 설치🎜
// 启动 MongoDB 服务,后面是服务器公网 ip 地址 + 默认端口 27017
mongo 10.128.218.14:27017
🎜nvm ls를 실행하면 설치된 Node.js 버전을 확인할 수 있습니다. 현재 사용되는 버전은 v7.4.0입니다. 반환 결과는 다음과 같습니다🎜
// admin数据库(管理使用)
> use admin
switched 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" ] }
🎜 nvm use v7.4.0을 실행하여 Node.js 버전을 v7.4.0으로 전환하세요. 반환된 결과는 다음과 같습니다. 🎜
vi /etc/mongod.conf

security:
  authorization: "enabled"   # disable or enabled

🎜Nginx 배포🎜🎜🎜서버 아래 설치 🎜
sudo service mongod restart

🎜Pm2 설치🎜🎜🎜프로젝트 내 설치, 🎜
> use admin
switched to db admin
> db.auth("root", "123456")
1 // 授权成功
 
// 其他常用命令
db.updateUser(user, writeConcern) # 更新用户
db.dropUser(&#39;test&#39;) # 删除用户
🎜프로젝트 시작🎜
// 终端连接
mongo 10.128.218.14:27017/database -u username -p password

// mongoose方式连接(项目内的方式)
mongoose.connect(&#39;mongodb://admin:123456@10.128.218.14:27017/test?options...&#39;, {useNewUrlParser: true});

# 用户名:密码@域名或者服务器公网IP:端口/数据库名称?配置项
🎜🎜pm2 일반적인 명령: 🎜🎜
lsof -i:4000
🎜프로젝트 🎜
kill 2805
🎜에서 process.yml 구성 파일을 생성한 다음 🎜를 실행할 수도 있습니다.
npm run dev
🎜🎜 MongoDB 설치 🎜🎜🎜프로젝트 내에서 설치합니다. Yum 소스를 사용하여 설치합니다. 🎜🎜🎜시스템 yum 소스 구성🎜🎜🎜vi /etc/yum.repos.d/mongodb-org-4.4.repo 다음 정보를 추가하세요: 🎜
du -h --max-depth=1
🎜 최신 🎜 구성 주소: 🎜

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 프로젝트를 배포하는 방법에 대한 자세한 설명

启动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:27017

1.0 创建用户,设置账号,密码,权限

// admin数据库(管理使用)
> use admin
switched 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 enabled

3.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(&#39;test&#39;) # 删除用户

5.0 远程连接

// 终端连接
mongo 10.128.218.14:27017/database -u username -p password

// mongoose方式连接(项目内的方式)
mongoose.connect(&#39;mongodb://admin:123456@10.128.218.14:27017/test?options...&#39;, {useNewUrlParser: true});

# 用户名:密码@域名或者服务器公网IP:端口/数据库名称?配置项

Window本地启动 MongoDB:

1.0 管理员身份打开 cmd ;

2.0 进入本地 MongoDB 安装目录 cd C:\Program Files\MongoDB\Server\4.4

3.0 执行 net start mongodb

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

其他命令

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

lsof -i:4000

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

2、杀掉当前进程

kill 2805

在执行

npm run dev

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

du -h --max-depth=1

Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명

Linux shell 脚本

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

sh run.sh // 启动服务脚本;
sh stop.sh // 启动服务脚本;
netstat -nltp  // 当前服务器端口状态;

更多编程相关知识,请访问:编程入门!!

위 내용은 Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제