Heim > Web-Frontend > js-Tutorial > Hauptteil

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

青灯夜游
Freigeben: 2021-05-11 09:58:20
nach vorne
3580 Leute haben es durchsucht

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地址
Nach dem Login kopieren

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

yum update -y
Nach dem Login kopieren

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
Nach dem Login kopieren

Git 安装

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

2.1、查看是否安装了git

rpm -qa|grep git
或者
 git --version
或者
 yum info git
Nach dem Login kopieren

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
Nach dem Login kopieren

创建软链接,您就可以在任意目录下直接使用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
Nach dem Login kopieren

查看 nodenpm 版本

node -v
npm -v
Nach dem Login kopieren

至此,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
Nach dem Login kopieren

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`
Nach dem Login kopieren

激活NVM

echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
Nach dem Login kopieren

列出Node.js的所有版本

nvm list-remote
Nach dem Login kopieren

安装多个Node.js版本

nvm install v14.0.0 -g
nvm install v14.10.0 -g
Nach dem Login kopieren

运行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)
Nach dem Login kopieren

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

[root@iZXXXXZ .nvm]# nvm use v7.4.0
Now using node v7.4.0
Nach dem Login kopieren

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
Nach dem Login kopieren

Pm2 安装

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

npm i pm2 -g
Nach dem Login kopieren

启动项目

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

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
Nach dem Login kopieren

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

apps:
  - script : app.js
    intance : 2
    watch : true
    env : 
      NODE_ENV : production
Nach dem Login kopieren

然后执行

pm2 start process.yml
Nach dem Login kopieren

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验证
Nach dem Login kopieren

最新 MongoDB

保存退出:
:wq

退出不保存
:wq!
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

🎜Yum Befehl🎜🎜
rpm -qa |grep mongodb

rpm -ql mongodb-org-server
Nach dem Login kopieren
Nach dem Login kopieren

🎜Git-Installation🎜🎜🎜Installieren Sie git unter dem Server; Sie können den herkömmlichen scp oder < verwenden code>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    # 删除数据文件
Nach dem Login kopieren
Nach dem Login kopieren
🎜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.
Nach dem Login kopieren
Nach dem Login kopieren
🎜Erstellen Sie einen Softlink, und Sie können node direkt darin verwenden beliebige Verzeichnis-- und npm-Befehle🎜
sudo service mongod restart 
复制代码
Nach dem Login kopieren
Nach dem Login kopieren
🎜Überprüfen Sie die Versionen von node und npm🎜
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
Nach dem Login kopieren
Nach dem Login kopieren
🎜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: 🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">// 启动 MongoDB 服务,后面是服务器公网 ip 地址 + 默认端口 27017 mongo 10.128.218.14:27017</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div><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" ] }
Nach dem Login kopieren
Nach dem Login kopieren
🎜NVM aktivieren🎜
vi /etc/mongod.conf

security:
  authorization: "enabled"   # disable or enabled
Nach dem Login kopieren
Nach dem Login kopieren
🎜Alle Versionen von Node.js auflisten🎜
sudo service mongod restart
Nach dem Login kopieren
Nach dem Login kopieren
🎜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;) # 删除用户
Nach dem Login kopieren
Nach dem Login kopieren
🎜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:端口/数据库名称?配置项
Nach dem Login kopieren
Nach dem Login kopieren

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

🎜Pm2-Installation🎜🎜🎜Installation innerhalb des Projekts, cd zum Projekt; 🎜
kill 2805
Nach dem Login kopieren
Nach dem Login kopieren
🎜Starten Sie das Projekt🎜
npm run dev
Nach dem Login kopieren
Nach dem Login kopieren
🎜🎜pm2 Allgemeine Befehle: 🎜🎜
du -h --max-depth=1
Nach dem Login kopieren
Nach dem Login kopieren
🎜Wir können auch eine process.yml-Konfigurationsdatei im Projekt erstellen🎜
sh run.sh // 启动服务脚本;
sh stop.sh // 启动服务脚本;
netstat -nltp  // 当前服务器端口状态;
Nach dem Login kopieren
Nach dem Login kopieren
🎜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!
Nach dem Login kopieren
Nach dem Login kopieren

安装MongoDB

sudo yum install -y mongodb-org
Nach dem Login kopieren
Nach dem Login kopieren

验证

rpm -qa |grep mongodb

rpm -ql mongodb-org-server
Nach dem Login kopieren
Nach dem Login kopieren

运行结果分别如下图:

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    # 删除数据文件
Nach dem Login kopieren
Nach dem Login kopieren

实现远程连接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.
Nach dem Login kopieren
Nach dem Login kopieren

重启MongoDB

sudo service mongod restart 
复制代码
Nach dem Login kopieren
Nach dem Login kopieren

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

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
Nach dem Login kopieren
Nach dem Login kopieren

远程连接

// 启动 MongoDB 服务,后面是服务器公网 ip 地址 + 默认端口 27017
mongo 10.128.218.14:27017
Nach dem Login kopieren
Nach dem Login kopieren

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" ] }
Nach dem Login kopieren
Nach dem Login kopieren

2.0 修改 mongodb.conf 文件,启用身份验证

vi /etc/mongod.conf

security:
  authorization: "enabled"   # disable or enabled
Nach dem Login kopieren
Nach dem Login kopieren

3.0 重启 MongoDB

sudo service mongod restart
Nach dem Login kopieren
Nach dem Login kopieren

4.0 用户认证

> use admin
switched to db admin
> db.auth("root", "123456")
1 // 授权成功
 
// 其他常用命令
db.updateUser(user, writeConcern) # 更新用户
db.dropUser(&#39;test&#39;) # 删除用户
Nach dem Login kopieren
Nach dem Login kopieren

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:端口/数据库名称?配置项
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

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

2、杀掉当前进程

kill 2805
Nach dem Login kopieren
Nach dem Login kopieren

在执行

npm run dev
Nach dem Login kopieren
Nach dem Login kopieren

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

du -h --max-depth=1
Nach dem Login kopieren
Nach dem Login kopieren

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

Linux shell 脚本

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

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

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

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!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!