이 글에서는 Linux에 NodeJs 프로젝트를 배포하는 방법을 자세히 소개하고 Linux 서버에 NodeJs 프로젝트를 배포하는 방법을 단계별로 설명합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
GitBash
, Xshell
또는 CMD
를 사용하여 로그인하고 서버에 연결하세요GitBash
或者 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
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/npmnode -v npm -vGit 설치
git
를 설치하세요. 기존 scp
또는 를 사용할 수 있습니다. ftp
는 소스 코드 업로드 서버 > 메소드를 개발하지만 여기서는 Git
흐름을 사용하여 관리하고 git
작업은 서버 측에서 수행됩니다.
node
和npm
命令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
查看 node
、npm
版本
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
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
服务器下安装;
pm2 start app // 实际执行文件在app 工程下的 index.js
工程项目内安装,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.yml
2.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验证
rpm -e --nodeps git 또는 rpm -e git
yum install git
MongoDB
y를 입력하고 Enter 누르기
🎜🎜🎜🎜 그런 다음 rpm -qa|grep git
또는 git version
을 사용하여 Git이 설치되었는지 확인하세요. 🎜🎜🎜node
와 npm
이 이미 존재하므로 다시 컴파일할 필요가 없습니다.
바이너리를 사용하여 Node.js 환경을 배포하려면 다음 작업을 완료하세요.
Node.js 설치 패키지를 다운로드하세요🎜🎜🎜wget 🎜nodejs.org/dist/v6.9.5…🎜🎜🎜🎜파일 압축을 푼 후🎜保存退出: :wq 退出不保存 :wq!🎜소프트 링크를 생성하고
node
를 직접 사용할 수 있습니다. 모든 디렉토리 > 및 npm
명령🎜sudo yum install -y mongodb-org🎜
node
및 npm
🎜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
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:端口/数据库名称?配置项🎜🎜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🎜 최신 🎜 구성 주소: 🎜
保存退出: :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 // 当前服务器端口状态;
更多编程相关知识,请访问:编程入门!!
위 내용은 Linux 서버에 Nodejs 프로젝트를 배포하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!