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.
Verwenden Sie GitBash
oder Xshell
oder CMD
, um sich anzumelden und eine Verbindung zum Server herzustellenGitBash
或者 Xshell
或者 CMD
等终端登录连接到服务器
ssh 用户名@ip地址
假如第一次使用服务器先更新下,以下程序基本采用 Yum
源的安装方式:
yum update -y
// 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
;开发源码上传服务器的方式可以使用 传统的 scp
或者 ftp
方式,但这里使用 Git
流来管理,在服务器端执行 git
操作;
rpm -qa|grep git 或者 git --version 或者 yum info git
若已经安装,需要先卸载。卸载命令如下:rpm -e --nodeps git 或者 rpm -e git
yum install git
输入y,并回车
再使用 rpm -qa|grep git
来 或者 git version
查看是否已经安装好了Git。
服务器下安装,选择以下任意一种方法部署Node.js环境;
该部署过程使用的安装包是已编译好的二进制文件。解压之后,在bin文件夹中就已存在node
和npm
,无需重复编译。
完成以下操作,使用二进制文件部署Node.js环境:
下载Node.js安装包
解压文件
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
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
服务器下安装;
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
工程项目内安装,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
工程项目内安装;使用 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!
Yum
Quelle: 🎜sudo yum install -y mongodb-org
rpm -qa |grep mongodb rpm -ql mongodb-org-server
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; 🎜// 开启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 # 删除数据文件
rpm -e --nodeps git oder rpm -e git
🎜🎜🎜 Lecker, installiere Git
🎜🎜🎜🎜Geben Sie y ein und drücken Sie die Eingabetaste
🎜🎜🎜🎜Verwenden Sie rpm -qa|grep git
oder git version
, um zu überprüfen, ob Git installiert wurde. 🎜🎜🎜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.
node direkt darin verwenden beliebige Verzeichnis-
- und npm
-Befehle🎜sudo service mongod restart 复制代码
node
und npm
🎜iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
/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" ] }
vi /etc/mongod.conf security: authorization: "enabled" # disable or enabled
sudo service mongod restart
> use admin switched to db admin > db.auth("root", "123456") 1 // 授权成功 // 其他常用命令 db.updateUser(user, writeConcern) # 更新用户 db.dropUser('test') # 删除用户
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('mongodb://admin:123456@10.128.218.14:27017/test?options...', {useNewUrlParser: true}); # 用户名:密码@域名或者服务器公网IP:端口/数据库名称?配置项
lsof -i:4000
kill 2805
npm run dev
du -h --max-depth=1
process.yml
-Konfigurationsdatei im Projekt erstellen🎜sh run.sh // 启动服务脚本; sh stop.sh // 启动服务脚本; netstat -nltp // 当前服务器端口状态;
MongoDB
-Konfigurationsadresse: 🎜保存退出: :wq 退出不保存 :wq!
sudo yum install -y mongodb-org
rpm -qa |grep mongodb rpm -ql mongodb-org-server
运行结果分别如下图:
// 开启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 # 删除数据文件
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.
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
// 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" ] }
vi /etc/mongod.conf security: authorization: "enabled" # disable or enabled
sudo service mongod restart
> use admin switched to db admin > db.auth("root", "123456") 1 // 授权成功 // 其他常用命令 db.updateUser(user, writeConcern) # 更新用户 db.dropUser('test') # 删除用户
// 终端连接 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:端口/数据库名称?配置项
1.0 管理员身份打开 cmd ;
2.0 进入本地 MongoDB 安装目录 cd C:\Program Files\MongoDB\Server\4.4
3.0 执行 net start mongodb
1、端口被占用了:检查端口占用命令. 根据报错提示, 我这里检查的是 4000
端口:
lsof -i:4000
2、杀掉当前进程
kill 2805
在执行
npm run dev
可以了!!! 查看服务器个程序占用内存大小
du -h --max-depth=1
自己编写服务运行脚本,直接在服务器上运行,下面是运行指令,脚本内容这里就不展示了,可以自己补充 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!