当前位置: 首页 > 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…...

3步构建智能文献管理系统:Zotero GPT插件从配置到精通指南

3步构建智能文献管理系统:Zotero GPT插件从配置到精通指南 【免费下载链接】zotero-gpt GPT Meet Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-gpt 在信息爆炸的学术环境中,研究人员平均每天需要处理超过20篇文献,传…...

Phi-3-mini-4k-instruct-gguf在中小企业内容运营中的应用:自动摘要与文案改写实战

Phi-3-mini-4k-instruct-gguf在中小企业内容运营中的应用:自动摘要与文案改写实战 1. 中小企业内容运营的痛点与机遇 对于中小企业来说,内容运营是品牌建设和客户沟通的重要环节。然而,在实际操作中,我们常常面临以下挑战&#…...

Wan2.2-I2V-A14B参数详解:--output路径修改与/workspace目录结构说明

Wan2.2-I2V-A14B参数详解:--output路径修改与/workspace目录结构说明 1. 镜像概述与核心功能 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像,基于RTX 4090D 24GB显存显卡深度调优。这个镜像最大的特点是开箱即用,内置了完整的运…...

8款降AI工具实测:知网维普全过,毕业季改稿不踩坑

每到毕业季,不少同学都会卡在论文AIGC检测这一关:熬了好几个通宵打磨的稿子,一查AI率直接飙到80%以上,被导师打回要求重改,眼看提交截止日一天天临近,越急越不知道从哪下手。其实现在主流的AI检测算法早就有…...

Qwen2.5-7B-Instruct效果展示:复杂代码生成与深度知识解答真实案例

Qwen2.5-7B-Instruct效果展示:复杂代码生成与深度知识解答真实案例 1. 项目简介 Qwen2.5-7B-Instruct是阿里通义千问系列的旗舰级大模型,相比1.5B和3B的轻量版本,这个7B参数的模型在能力上实现了质的飞跃。它专门针对复杂的文本交互场景设计…...

深入解析ReID核心评价指标:从Rank1到mINP的实战应用

1. ReID评价指标入门:为什么我们需要这么多指标? 第一次接触ReID(行人重识别)的朋友可能会被各种评价指标搞得头晕——Rank1、mAP、ROC、mINP...这些字母组合到底在说什么?其实这些指标就像医生给病人做体检时的不同检…...

如何轻松获取网页媒体资源?猫抓开源工具让资源提取效率提升3倍

如何轻松获取网页媒体资源?猫抓开源工具让资源提取效率提升3倍 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾在浏览网页时遇…...

XML 指南

XML 指南 引言 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。自从1998年发布以来,XML因其灵活性和广泛的应用场景而成为数据交换的标准格式。本文旨在为您提供一个全面的XML指南,帮助您了解XML的基本概念、语法规则、应用场景以及相关的最佳实践。 XML的基本…...

MOS管选型实战指南

MOS管(金属氧化物半导体场效应晶体管)是现代电力电子和开关电路的核心元件。选型失误的后果往往是灾难性的——效率低下、发热严重、驱动振荡、甚至炸管冒烟。相比电阻电容,MOS管的选型需要权衡的维度更多:电压、电流、导通电阻、开关速度、驱动电压、热阻、体二极管特性……...

m4s-converter:重构B站缓存管理的格式转换解决方案

m4s-converter:重构B站缓存管理的格式转换解决方案 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一款开源工具&…...