服务器上安装node

746 阅读2分钟
# 打开要安装的文件夹
cd /opt
# 下载二进制文件
wget https://nodejs.org/dist/v12.18.2/node-v12.18.2-linux-x64.tar.xz
# 解压二进制文件
tar -xvf node-v12.18.2-linux-x64.tar.xz
# 修改文件夹名称(非必须,可不修改)
mv node-v12.18.2-linux-x64 nodejs
# 建立软链接
ln -s /opt/nodejs/bin/node /usr/local/bin/
ln -s /opt/nodejs/bin/npm /usr/local/bin/
# 安装校验
node -v
npm -v

nodejs如何打包部署服务器

要打包部署Node.js服务器,可以按照以下步骤进行操作:

  1. 确保你的应用程序代码可以在本地运行,并且已经进行了测试。
  2. 在你的项目根目录下创建一个新的文件夹,例如"dist",用于存放打包后的代码。
  3. 在终端中进入项目根目录,并执行以下命令安装打包工具Webpack和相关插件:
npm install webpack webpack-cli webpack-node-externals --save-dev

复制代码

  1. 在项目根目录下创建一个新的文件webpack.config.js,并添加以下内容:
const path = require('path');
const nodeExternals = require('webpack-node-externals');
module.exports = {
entry: './src/index.js', // 入口文件
output: {
path: path.resolve(__dirname, 'dist'), // 打包后的输出路径
filename: 'bundle.js' // 打包后的输出文件名
},
target: 'node', // 打包为Node.js可用的代码
//   externals: [nodeExternals()], // 排除Node.js核心模块
externals: {
  mysql: 'commonjs mysql'
}
};

复制代码

  1. 在终端中执行以下命令,使用Webpack进行打包:
npx webpack --config webpack.config.js

复制代码

这将会在"dist"文件夹中生成一个名为"bundle.js"的打包文件。

  1. 将"dist"文件夹中的所有文件部署到你的服务器上,并确保服务器上已安装了Node.js环境。
  2. 在服务器上运行以下命令,启动Node.js应用程序:
node bundle.js

复制代码

这将会启动你的Node.js服务器,并使其在服务器上运行。

node中webpack打包mysql报错 Module not found: Error: Can't resolve 'fs' 、'net'、'tls'

应该将mysql排除在webpack打包的模块之外,然后在js文件运行时提供mysql模块。这时我们就可以用到webpack的externals节点的配置,通过这个配置可以在webpack时不打包mysql模块,在输出的js文件中保留require('mysql'),然后在打包好的js文件运行时引用外部的mysql模块。这种方式也是webpack在打包服务端的node工程时所采用的方法。具体配置如下:

module.exports = { externals: { mysql: 'commonjs mysql' } } 1 2 3 4 5 打包好后,将mysql的npm包手动放到index.bundle.js同级的node_modules文件夹内,最后用于运行的文档结构如下所示

image.png

Node项目一直保持启动状态

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能

npm install -g pm2
pm2 start app.js        // 启动
pm2 start app.js -i max //启动 使用所有CPU核心的集群
pm2 stop app.js         // 停止
pm2 stop all            // 停止所有
pm2 restart app.js      // 重启
pm2 restart all         // 重启所有
pm2 delete  app.js      // 关闭