ホームページ > 記事 > ウェブフロントエンド > Linux サーバーに Nodejs プロジェクトをデプロイする方法の詳細な説明
この記事では、Linux に Nodejs プロジェクトをデプロイする方法を詳しく紹介し、Linux サーバーに NodeJs プロジェクトをデプロイする方法を段階的に説明します。一定の参考値があるので、困っている友達が参考になれば幸いです。
GitBash
または XXshell
または 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 gityum install git
y と入力して Enter を押します
## 次に、
rpm -qa|grep git または git version
を使用して、Git がインストールされているかどうかを確認します。
#2.3. リモート プロジェクトのクローンをサーバーに作成する
3.1. バイナリ ファイルを使用したインストール
npm はすでに bin フォルダーに存在するため、再コンパイルする必要はありません。
バイナリを使用して Node.js 環境をデプロイするには、次の操作を完了します。
Node.js インストール パッケージをダウンロードします。
wget
nodetar xvf node-v6.9.5-linux-x64.tar.xzソフト リンクを作成すると、任意のディレクトリで
および
npm コマンド <pre class="brush:js;toolbar:false;">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</pre>
を直接使用して、node
、## を表示できます。 #npm
node -v npm -v
この時点で、Node.js 環境がインストールされました。ソフトウェアはデフォルトで
/root/node-v6.9.5-linux-x64/ ディレクトリにインストールされます。
ソフトウェアを他のディレクトリにインストールする必要がある場合 (例: ##) #/opt/node /)、次の手順を実行してください: <pre class="brush:js;toolbar:false;">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</pre>
NVM (Node Version Manager) は、Node.js のさまざまなバージョンを簡単に切り替えることができる Node .js バージョン管理ソフトウェアです。ノード開発を長期間行っている人、またはノードのバージョンを迅速に更新する必要がある人、またはノードのバージョンをすぐに切り替える必要がある人に適しています。
ディレクトリにクローンし、最新バージョンを確認します
yum install git<pre class="brush:js;toolbar:false;">git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`</pre>
NVM をアクティブにする
echo ". ~/.nvm/nvm.sh" >> /etc/profile source /etc/profile
Node.js のすべてのバージョンをリストする<pre class="brush:js;toolbar:false;">nvm list-remote</pre>
複数の Node.js バージョンをインストールする
nvm install v14.0.0 -g nvm install v14.10.0 -g
実行
nvm lsインストールされているノードを表示する.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.0Node.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
サーバー内へのインストールproject , cd でプロジェクトに移動します;
npm i pm2 -g
pm2 start app // 实际执行文件在app 工程下的 index.js
// 安装 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 ソース インストールを使用します。
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验证
保存退出: :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 中国語 Web サイトの他の関連記事を参照してください。