当前位置: 首页 > news >正文

next项目部署到云服务器上(手动)

准备环境:

云服务器 ECS,服务器安装好了docker

自己的next项目

开始:

1.在next项目根目录下创建Dockerfile文件

FROM node:18-alpine AS base# Install dependencies only when needed
FROM base AS deps
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
RUN apk add --no-cache libc6-compat
WORKDIR /app# Install dependencies based on the preferred package manager
COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./
RUN \if [ -f yarn.lock ]; then yarn --frozen-lockfile; \elif [ -f package-lock.json ]; then npm ci; \elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i --frozen-lockfile; \else echo "Lockfile not found." && exit 1; \fi# Rebuild the source code only when needed
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .# Next.js collects completely anonymous telemetry data about general usage.
# Learn more here: https://nextjs.org/telemetry
# Uncomment the following line in case you want to disable telemetry during the build.
# ENV NEXT_TELEMETRY_DISABLED 1RUN yarn build# If using npm comment out above and use below instead
# RUN npm run build# Production image, copy all the files and run next
FROM base AS runner
WORKDIR /appENV NODE_ENV production
# Uncomment the following line in case you want to disable telemetry during runtime.
# ENV NEXT_TELEMETRY_DISABLED 1RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjsCOPY --from=builder /app/public ./public# Set the correct permission for prerender cache
RUN mkdir .next
RUN chown nextjs:nodejs .next# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/staticUSER nextjsEXPOSE 3000ENV PORT 3000
# set hostname to localhost
ENV HOSTNAME "0.0.0.0"CMD ["node", "server.js"]

2.更改项目中next.config.js文件(主要是增加ouput这个)

// next.config.js
module.exports = {// ... rest of the configuration.output: 'standalone',
}

3.把项目放到云服务器上

方法多样

我是通过写完把代码push到远端gitlab后,下载了tar文件,在通过finalShell把文件手动上传到目录下的

4.解压上传的文件

切到对应的目录下(项目文件名改成自己的)

 tar -xvf international_station-master.tar

5.创建docker镜像(换成自己的项目名称,别怀疑是有. 的)

 docker build -t international_station-master .

这样就打包好了

6.docker images一下看看是否创建镜像成功

7.通过镜像创建容器,并启动

docker run -d -p 3000:3000 --name webserver international_station-master:latest 

8.如果是阿里云的话,记得把3000端口号加上安全组,然后就能通过ip:3000访问啦

相关文章:

next项目部署到云服务器上(手动)

准备环境: 云服务器 ECS,服务器安装好了docker 自己的next项目 开始: 1.在next项目根目录下创建Dockerfile文件 FROM node:18-alpine AS base# Install dependencies only when needed FROM base AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333d…...

CG Magic分享3dmax软件安装与打开文件转圈圈怎么办?

大家使用3dmax软件时,尤其,是初学者无论是安装3dmax软件还是打开max文件时,会遇到一类问题: 3dmax一直转圈不动? 3dmax总是转圈怎么办 大家遇到3dmax一直转圈圈是如何解决的呢?小编这里整理了一些3dmax软…...

京东(天猫)数据分析:2023下半年茶饮料市场高速增长,东方树叶一骑绝尘

当前在食品饮料行业中,整体的增长放缓,且各个细分品类上都已经充分竞争。但茶饮料市场例外,近两年呈现高增长的态势,一来取决于行业头部企业也在积极推动茶饮料不断升级,另外是主打更健康、更时尚的茶饮料深受年轻消费…...

软件测试之【单元测试、系统测试、集成测试】

一、单元测试的概念 单元测试(Unit Testing)是对软件基本组成单元进行的测试,如函数(function或procedure)或一个类的方法(method)。当然这里的基本单元不仅仅指的是一个函数或者方法&#xff…...

安装 tensorflow==1.15.2 遇见的问题

一、直接安装 命令:pip install tensorflow1.15.2 二、换 阿里云 镜像源 命令:pip install -i http://mirrors.aliyun.com/pypi/simple tensorflow1.15.2 三、换 豆瓣 镜像源 命令:pip install http://pypi.douban.com/simple tensorflow1…...

OJ刷题 第十八篇(递归篇)

34101 - 全排列问题(目前遇到最难的一个递归) 时间限制 : 1 秒 内存限制 : 128 MB 输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。 输入 n(1≤n≤9) 输出 由 1&#xf…...

互联网产品说明书指南,附撰写流程与方法

产品说明书,对于普通产品而言,再常见不过。药物、电器、电子产品等产品在正式出售时,往往都会附带一份产品说明书,以此告诉用户这个产品的功能与特性,并指导用户如何来使用这个产品。 产品说明书 那么,对于…...

从JVM方面解释java传递问题

前言: Java传递问题,网上解释的比较多,大多是从代码和传递的规范的层次来解释。前段时间,自己也一直在思考这个问题,大部分的解释让我很难印象深刻,经常忘,刚好看过一点jvm方面的书&#xff0c…...

Oracle查询用户所有表的语句

下面为您介绍的语句用于实现Oracle查询用户所有表,如果您对oracle查询方面感兴趣的话,不妨一看。 -- 查询所有用户的表,视图等 select * from all_tab_comments -- 查询本用户的表,视图等 select * from user_tab_comments --查询所有用户的表的列…...

Python轮廓追踪【OpenCV形态学操作】

文章目录 概要代码运行结果 概要 一些理论知识 OpenCV形态学操作理论1 OpenCV形态学操作理论2 OpenCV轮廓操作|轮廓类似详解 代码 代码如下,可以直接运行 import cv2 as cv# 定义结构元素 kernel cv.getStructuringElement(cv.MORPH_RECT, (3, 3)) # print kern…...

安全狗安装

安装waf 关闭apache程序及httpd.exe进程; 运行cmd,cd进入apache/bin文件夹目录, 执行httpd.exe -k install -n apache2.4.39; 启动apache,启动phpstudy 安全狗安装服务名称填写apache2.4.39; 安装安全狗之后就会提示报错 可以设备黑白名单...

HTTP发起请求与收到响应的大致过程

可以《《透视 HTTP 协议》Windows 10 搭建最小实验环境》搭建环境,之后才能进行下边的操作。 1.鼠标左键点击两下www目录下的start.bat批处理文件。 2.打开Wireshark,然后选择Adapter for loopback traffic capture。 3.然后把tcp.port 80 || udp.…...

c++继承的小细节

子类不会继承父类的构造函数,但是会调用父类无参数的构造函数。调用父类构造方法,可以在子类的构造函数后加冒号和要调用的构造方法。子类转化为父类,或者父类转换为子类后,虚函数列表也被转换。...

【分享】7-Zip压缩包的密码可以取消吗?

7-Zip压缩包设置了“密码保护”,后面又不想要了,可以取消吗? 首先,我们要分两种情况来看,是记得密码,但不想每次打开压缩包都要输入密码,所以想取消密码,还是把密码忘记了所以想取消…...

learning rate

这里写目录标题 learning rate单一固定(one-size-fits-all)的学习率Model训练到驻点很困难(学习率太大不能收敛,学习率太小收敛太慢) 如何客制化学习率?- 引入参数σσ常见的计算方式 - Root mean square&a…...

小型气象站数据采集网关准确监测雨量和风速

随着科技的发展,人们对天气信息的需求也愈发增加。天气是每个人生活中不可或缺的一部分,了解准确的天气信息有助于我们做出合理的决策和安排。在小型气象站数据采集中,一个关键的环节是监测雨量和风速。而小型气象站数据采集网关的出现&#…...

C++常见容器实现原理

引言 如果有一天!你骄傲离去!(抱歉搞错了)如果有一天,你在简历上写下了这段话: 那么你不得不在面试前实现一下STL常见的容器了。C的常用容器有:vector、string、deque、stack、queue、list、se…...

Mysql数据库 5.SQL语言聚合函数 语言日期-字符串函数

一、聚合函数 SQL中提供了一些可以对查询的记录的列进行计算的函数——聚合函数 1.count() 统计函数,统计满足条件的指定字符的值的个数 统计表中rebirth_mood个数 select count(列名) from 表名; #统计表中rebirth_namelcl的个数 select …...

使用Linux JumpServer 堡垒机进行远程访问

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpS…...

postgresql14管理(五)-tablespace

基本概念 表空间tablespace在postgresql中,表示数据库对象(比如表或索引)的存放目录。当表被访问时,系统通过表空间定位到对应数据文件所在的位置。 优势: 1、如果数据库集群所在的初始磁盘分区或磁盘卷的空间不足&a…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...