在上一集,我们编写完毕导航页面,并且非常的美观,但是我们发现编写网站是存静态的,在现代的网站当中一般都是动静结合,也就是说部分数据是从数据库读取的,部分静态数据是写在网页上面的,因此这章讲述如何搭建一个数据库。

搭建数据库(PostgreSQL)

在这里我们使用容器的方法进行数据库搭建,这样的好处在于我们能快速的完整搭建,而不需要了解搭建的细节。

先判断服务器是否安装docker 容器,如果没安装需要安装,使用命令docker ps 判断是否安装成功,如果成功则如下图所示。

如果未安装成功则使用命令 apt install docker.io 安装(Ubuntu服务器),其他服务器则使用其他命令,如 yum install docker.io

安装容器成功之后,我们要使用Docker Compose进行容器管理,在当前目录下创建一个文件夹PostgreSQL_Compose用于存储Compose 配置文件,然后创建一个docker-compose.yml配置文件,并编辑以下内容保存。

version: '3.8'
services:
  db:
    image: postgres:13
    container_name: nextjs_dbs
    restart: always
    environment:
      POSTGRES_DB: nextjsdbs
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: 12345678
    ports:
      - "5432:5432"
    volumes:
      - ./data:/var/lib/postgresql/data

Docker Compose 配置文件解析

这个 Docker Compose 配置文件设置了一个 PostgreSQL 数据库服务。以下是各部分的详细说明:

  • version: '3.8': 指定使用的 Docker Compose 文件格式版本。
  • services: 定义服务。
    • db: 服务名称。

      • image: postgres:13: 使用 PostgreSQL 13 版本的官方 Docker 镜像。

      • container_name: nextjs_dbs: 指定运行容器的名称为 nextjs_dbs

      • restart: always: 设置容器总是重启,确保服务持续运行。

      • environment: 设置环境变量。

        • POSTGRES_DB: nextjsdbs: 初始数据库名。
        • POSTGRES_USER: postgres: 数据库用户名。
        • POSTGRES_PASSWORD: 12345678: 数据库密码。
      • ports: 端口映射。

        • "5432:5432": 将容器内的 5432 端口映射到主机的 5432 端口。
      • volumes: 数据卷配置。

        • ./data:/var/lib/postgresql/data: 将主机上的 ./data 目录挂载到容器内的 PostgreSQL 数据目录,用于持久化存储数据。
          这个配置文件设置了一个基本的 PostgreSQL 数据库环境,适合用于开发和测试 Next.js 应用程序。

容器使用方法

使用docker-compose up -d 运行容器,如果没有命令则需要使用apt install docker-compose 进行安装,下图为正在加载容器。

使用 docker-compose logs -f 命令查看容器的日志信息

使用 docker ps 命令查看容器的运行状态

如果你想看更多内容或者能够看到技术更新的内容,请百度搜索:曲速引擎 warp drive csdn 在首页找到我的地址访问即可,一线更新内容将会在我的个人博客上面更新,谢谢大家。

更详细内容查看

独立博客 https://www.dataeast.cn/
CSDN博客 https://blog.csdn.net/siberiaWarpDrive
B站视频空间 https://space.bilibili.com/25871614?spm_id_from=333.1007.0.0
关注 “曲速引擎 Warp Drive” 微信公众号

Next.js 与 React 全栈开发:整合 TypeScript、Redux 和 Ant Design的更多相关文章

  1. Node.js 全栈开发(一)——Web 开发技术演化

    这些年一直不断接触学习 Node 技术栈,个人的技术开发学习兴趣也越来越倾向 node 流.也许是由于英语的关系,也许是因为墙增加了学习国外一手资料的难度,加上现在流行的 web 开发技术并不太容易上 ...

  2. node.js+react全栈实践

    利用业余时间写了个简单的项目,使用react+node.js做的一个全栈实践项目,前端参考了[React-Admin-Starter](https://github.com/veryStarters/ ...

  3. Flask Vue.js全栈开发

    Flask Vue.js全栈开发的 最新完整代码 及使用方式 本系列的最新代码及使用方式将持续更新到: http://www.madmalls.com/blog/post/latest-code/ 1 ...

  4. grandstack 基于graphql&&react&& apollo&& neo4j 的全栈开发工具

    grandstack是一个基于graphql&&react&& apollo&& neo4j 的全栈开发工具. 有篇关于graphql 的5个常见问题的 ...

  5. node.js+react全栈实践-Form中按照指定路径上传文件并

    书接上回,讲到“使用同一个新增弹框”中有未解决的问题,比如复杂的字段,文件,图片上传,这一篇就解决文件上传的问题.这里的场景是在新增弹出框中要上传一个图片,并且这个上传组件放在一个Form中,和其他文 ...

  6. Meteor全栈开发平台 - 不仅仅是前端

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...

  7. Meteor全栈开发平台

    Meteor全栈开发平台 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonno ...

  8. 我的第一部原创《JavaScript 全栈开发》正式上市了!

    在经过了漫长的创作.审校过程之后,<JavaScript 全栈开发>终于迎来了在各大平台上正式出版的日子,以下是这本书的基本信息: 出品方: 异步社区:https://www.epubit ...

  9. Sentry 监控 - 全栈开发人员的分布式跟踪 101 系列教程(第一部分)

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  10. .NET全栈开发工程师学习路径

    PS:最近一直反复地看博客园以前发布的一条.NET全栈开发工程师的招聘启事,觉得这是我看过最有创意也最朴实的一个招聘启事,更为重要的是它更像是一个技术提纲,能够指引我们的学习和提升,现在转载过来与各位 ...

随机推荐

  1. 2024 (ICPC) Jiangxi Provincial 省赛

    2024 (ICPC) Jiangxi Provincial 省赛 前言 和队友 vp 7t,赛后补了几题. A. Maliang Learning Painting 思路 输出 a + b + c ...

  2. CH05_数组

    CH05_数组 概述 定义:一组相同类型的数据的集合. 描述: 1.数组中的每个元素都是相同的数据类型 2.数组是由连续的内存位置组成的. 3.数组索引是从0开始 一维数组 语法: 1.数据类型 数组 ...

  3. 微服务架构springcloud

    码云地址:https://gitee.com/lpxs/lp-springcloud.git 有问题可以多沟通:136358344@qq.com. 微服务架构 一.服务化简介 服务化的核心就是将传统的 ...

  4. async await 状态机理解

    public async Task<string> Wait3S() { await Task.Delay(3000); Console.WriteLine("Wait 3 S& ...

  5. Win32 菜单添加复选标记和单选标记

    在菜单中添加复选标记用CheckMenuItem函数 CheckMenuItem函数原型: DWORD WINAPI CheckMenuItem( _In_ HMENU hMenu, //菜单句柄 _ ...

  6. 逆向WeChat (五)

    本篇逆向mmmojo.dll,介绍如何使用mmmojo,wmpf_host_export的mojo. 本篇在博客园地址https://www.cnblogs.com/bbqzsl/p/18216717 ...

  7. 使用了 sudo 却依然显示权限不够的原因

    $ sudo echo "151.101.76.133 raw.githubusercontent.com" >> /etc/hosts bash: /etc/host ...

  8. 倾斜摄影osgb格式文件,进行坐标转换

    倾斜摄影OSGB格式的文件,很棘手,今天需要把osgb放到UE中渲染.碰到的问题如下: 1.osgb文件导进去后,Z轴不想上,是歪的,小人放进去后,就斜站在马路上. 2.根本原因是坐标系,UE的插件c ...

  9. 深入理解JavaScript中的箭头函数

    箭头函数可以使我们的代码更加简洁,如下: var sum = (a,b) => a+b; JavaScript 充满了我们需要编写在其他地方执行的小函数的情况. 例如: arr.forEach( ...

  10. CPP在内网穿透技术的思考

    概述 内网穿透是一种技术,用于在私有局域网(LAN)中的设备与外部网络(如互联网)之间建立通信通道,使得外部设备可以访问内网中的服务.由于内网设备通常位于防火墙或 NAT(网络地址转换)设备之后,外部 ...