nuxt项目迁移到阿里云服务器(AnolisOS8)

使用nvm(Node Version Manager)

NVM允许你安装多个Node.js版本,并可以轻松切换版本。

1. 安装nvm

对于Debian/Ubuntu:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

# 或者使用wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

对于CentOS/Fedora:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

# 或者使用wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

2. 使用nvm安装Node.js

安装nvm后,你可以使用以下命令安装Node.js:

nvm install node # 安装最新版本的Node.js

nvm install 18 # 安装特定版本的Node.js,例如版本18

3. 使用nvm切换Node.js版本

nvm use 18 # 切换到版本18

npm使用国内镜像源

npm config set registry https://registry.npmmirror.com/

服务器里安装,只需要安装一次,目前公司的服务器已安装

1.npm i pm2 -g  // npm安装

2.pm2 list // 查看是否安装成功,如果不成功看3

3.whereis pm2  // 查看pm2 位置

ln -s   /root/.nvm/versions/node/v20.18.3/bin/pm2  /usr/bin/pm2  // 使用 ln -s 挂一下软连接

PS:若安装时太久没有动静,可ctrl+C停止命令,再重新执行,速度可能会快点

项目部署

1.把本地项目打包后的.nuxt文件夹、static文件夹、nuxt.config.js文件、package.json文件)上传到服务器

2.进入项目所在的文件夹,执行 npm install(或者npm i) 安装依赖

测试运行:npm start,可以用ip+端口号进行访问(该操作当你关闭软件时,项目会立即停止运行)

正式部署:pm2 start npm –name “mzt” — run start // (my-nuxt为项目名) 推荐用pm2启动

nginx代理配置:

map $sent_http_content_type $expires {

    “text/html”                 epoch;

    “text/html; charset=utf-8”  epoch;

    default                     off;

}

server {

    listen          80;             # the port nginx is listening on

    server_name     your-domain;    # setup your domain here

    gzip            on;

    gzip_types      text/plain application/xml text/css application/javascript;

    gzip_min_length 1000;

    location / {

        expires $expires;

        proxy_redirect                      off;

        proxy_set_header Host               $host;

        proxy_set_header X-Real-IP          $remote_addr;

        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Proto  $scheme;

        proxy_read_timeout          1m;

        proxy_connect_timeout       1m;

        proxy_pass                          http://127.0.0.1:3050; # set the address of the Node.js instance here

    }

}

注意事项

1. 服务器迁移后,项目需重新安装依赖包(如果之前有则需要先删除再npm install)

2. 权限问题,可通过linux命令行 chmod -R 777 [文件] 来修改权限

3. Pm2 开机自启动项目

3-1 通过pm2 save保存当前进程状态。
3-2 通过pm2 startup [platform]生成开机自启动的命令。(记得查看控制台输 出)
3-3 将步骤2生成的命令,粘贴到控制台进行,搞定。

pm2 删除已部署的项目

在Linux环境下使用PM2(Process Manager 2)来管理Node.js应用程序时,有时候你可能会需要删除已部署的项目。PM2提供了一个简单的方法来停止、删除和重启你的应用程序。以下是删除已部署的Node.js项目的基本步骤:

1. 停止项目

在删除项目之前,首先应该停止该项目的运行。你可以使用以下命令来停止项目:

pm2 stop 项目名或ID

例如,如果你的项目名为myapp,你可以使用:

pm2 stop myapp

或者,如果你知道项目的ID,可以使用:

pm2 stop 0

2. 删除项目

一旦项目被停止,你就可以安全地删除它了。使用以下命令来删除项目:

pm2 delete 项目名或ID

例如,继续使用myapp为例:

pm2 delete myapp

或者使用ID:

pm2 delete 0

3. 清理PM2的进程列表(可选)

如果你想要彻底清除PM2的进程列表中的所有痕迹,包括日志文件和配置文件,你可以使用:

pm2 unstartup   # 取消开机自启设置(如果你之前设置了的话)

pm2 save        # 保存当前进程状态到ecosystem.config.js(如果你使用的是PM2的配置文件)

pm2 reset       # 重置PM2的状态,这将删除所有进程和日志文件,但不删除配置文件。

4. 确认项目已被删除(可选)

为了确认项目是否真的被删除,你可以列出所有当前运行的PM2进程:

pm2 list

你应该看不到你的项目出现在列表中。

5. 手动删除日志文件(可选)

如果你想要手动删除与你的项目相关的日志文件,你可以找到PM2的日志目录(通常是~/.pm2/logs),然后手动删除相关的日志文件。例如:

rm -rf ~/.pm2/logs/myapp*

注意:

确保在执行删除操作前,你已经保存了所有重要的数据或配置。

使用pm2 delete命令时,请确保你有足够的权限(通常需要root权限或sudo)。如果遇到权限问题,可以尝试在命令前加上sudo。

在生产环境中操作时,建议先在测试环境验证命令的正确性。

反向代理参考网站:https://www.nuxtjs.cn/faq/nginx-proxy/

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注