Heim >Web-Frontend >js-Tutorial >Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

青灯夜游
青灯夜游nach vorne
2021-05-06 10:34:573644Durchsuche

In diesem Artikel wird die Methode zum Bereitstellen von NodeJs-Projekten unter Linux ausführlich vorgestellt und Sie erfahren Schritt für Schritt, wie Sie NodeJs-Projekte auf Linux-Servern bereitstellen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

Melden Sie sich beim Server an

Verwenden Sie GitBash oder Xshell oder CMD, um sich anzumelden und eine Verbindung zum Server herzustellenGitBash 或者 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

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

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

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

2.2、安装Git

yum install git

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

输入y,并回车

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

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

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

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

Node 安装

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

3.1、使用二进制文件安装

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

wget nodejs.org/dist/v6.9.5…

解压文件

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

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

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

查看 nodenpm 版本

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

保存退出:
:wq

退出不保存
:wq!

Wenn Sie der Erste sind, aktualisieren Sie zuerst den Server, wenn Sie ihn verwenden. Die folgenden Programme verwenden grundsätzlich die Installationsmethode von Yum Quelle: 🎜
sudo yum install -y mongodb-org

🎜Yum Befehl🎜🎜
rpm -qa |grep mongodb

rpm -ql mongodb-org-server

🎜Git-Installation🎜🎜🎜Installieren Sie git unter dem Server; Sie können den herkömmlichen scp oder ftp, um die Servermethode zum Hochladen des Quellcodes zu entwickeln, aber hier wird der Git-Fluss zur Verwaltung verwendet und der git-Vorgang wird auf dem Server ausgeführt Seite; 🎜

🎜2.1. Überprüfen Sie, ob Git installiert ist🎜

// 开启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    # 删除数据文件
🎜1 .png🎜🎜Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern🎜🎜Wenn es installiert wurde, müssen Sie es zuerst deinstallieren. Der Deinstallationsbefehl lautet wie folgt: rpm -e --nodeps git oder rpm -e git🎜🎜Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern🎜

🎜2.2, installieren Sie Git🎜

🎜 Lecker, installiere Git 🎜🎜4. png🎜🎜Geben Sie y ein und drücken Sie die Eingabetaste🎜🎜Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern🎜🎜Verwenden Sie rpm -qa|grep git oder git version, um zu überprüfen, ob Git installiert wurde. 🎜🎜Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern🎜

🎜2.3. Klonen Sie das Remote-Projekt auf den Server🎜

🎜Knoteninstallation🎜🎜🎜Unter dem Server installieren, beliebiges auswählen der folgenden Methode zum Bereitstellen der Node.js-Umgebung: 🎜

🎜3.1. Installation mithilfe von Binärdateien 🎜

🎜Das in diesem Bereitstellungsprozess verwendete Installationspaket ist eine kompilierte Binärdatei Datei. Nach der Dekomprimierung sind node und npm bereits im bin-Ordner vorhanden, sodass keine Neukompilierung erforderlich ist. Führen Sie die folgenden Vorgänge aus, um die Node.js-Umgebung mithilfe von Binärdateien bereitzustellen: Laden Sie das Node.js-Installationspaket herunter🎜
🎜wget nodejs.org/dist/v6.9.5…🎜
🎜Entpacken Sie die Datei🎜
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.
🎜Erstellen Sie einen Softlink, und Sie können node direkt darin verwenden beliebige Verzeichnis-- und npm-Befehle🎜
sudo service mongod restart 
复制代码
🎜Überprüfen Sie die Versionen von node und npm🎜
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
🎜An diesem Punkt wird der Node. js-Umgebung wurde installiert. Die Software wird standardmäßig im Verzeichnis /root/node-v6.9.5-linux-x64/ installiert. Wenn Sie die Software in anderen Verzeichnissen installieren müssen (zum Beispiel: /opt/). node/ code>), gehen Sie bitte wie folgt vor: 🎜<pre class="brush:js;toolbar:false;">// 启动 MongoDB 服务,后面是服务器公网 ip 地址 + 默认端口 27017 mongo 10.128.218.14:27017</pre><h2 data-id="heading-8">🎜3.2. Verwenden Sie NVM, um mehrere Versionen zu verwalten (yum-Installation) 🎜</h2>🎜NVM (Node Version Manager) ist eine Node.js-Versionsverwaltungssoftware, mit der Sie problemlos zwischen verschiedenen Versionen von Node.js wechseln können. Geeignet für diejenigen, die sich schon lange mit der Knotenentwicklung befassen oder Knotenversionen schnell aktualisieren oder Knotenversionen schnell wechseln müssen Quellcode in das lokale Verzeichnis <code> ~/.nvm kopieren und die neueste Version überprüfen🎜🎜yum install git🎜
// 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 aktivieren🎜
vi /etc/mongod.conf

security:
  authorization: "enabled"   # disable or enabled
🎜Alle Versionen von Node.js auflisten🎜
sudo service mongod restart
🎜Installieren Sie mehrere Node.js-Versionen🎜
> use admin
switched to db admin
> db.auth("root", "123456")
1 // 授权成功
 
// 其他常用命令
db.updateUser(user, writeConcern) # 更新用户
db.dropUser(&#39;test&#39;) # 删除用户
🎜Führen Sie nvm ls aus, um die installierte Node.js-Version anzuzeigen. Das Rückgabeergebnis lautet wie folgt: Führen Sie nvm use v7.4.0 aus, um die Node.js-Version auf v7.4.0 umzustellen. Die zurückgegebenen Ergebnisse lauten wie folgt. 🎜
// 终端连接
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:端口/数据库名称?配置项

🎜Nginx-Bereitstellung🎜🎜🎜Installation unter dem Server; 🎜
lsof -i:4000

🎜Pm2-Installation🎜🎜🎜Installation innerhalb des Projekts, cd zum Projekt; 🎜
kill 2805
🎜Starten Sie das Projekt🎜
npm run dev
🎜🎜pm2 Allgemeine Befehle: 🎜🎜
du -h --max-depth=1
🎜Wir können auch eine process.yml-Konfigurationsdatei im Projekt erstellen🎜
sh run.sh // 启动服务脚本;
sh stop.sh // 启动服务脚本;
netstat -nltp  // 当前服务器端口状态;
🎜und dann ausführen 🎜 rrreee

🎜MongoDB-Installation🎜🎜🎜Installieren Sie innerhalb des Projekts; verwenden Sie die Yum-Quelle zur Installation;🎜

🎜Konfigurieren Sie die System-Yum-Quelle🎜

🎜 vi /etc/yum.repos.d/mongodb-org-4.4.repo Fügen Sie die folgenden Informationen hinzu: 🎜rrreee🎜Neueste MongoDB-Konfigurationsadresse: 🎜

docs.mongodb.com/manual/tuto…

保存退出:
:wq

退出不保存
:wq!

安装MongoDB

sudo yum install -y mongodb-org

验证

rpm -qa |grep mongodb

rpm -ql mongodb-org-server

运行结果分别如下图:

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

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

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

其他命令

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

lsof -i:4000

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

2、杀掉当前进程

kill 2805

在执行

npm run dev

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

du -h --max-depth=1

Ausführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern

Linux shell 脚本

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

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

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

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Bereitstellung von Nodejs-Projekten auf Linux-Servern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen