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

搭建数据库(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. Avnet ZUBoard 1CG开发板上手—深度学习新选择

    Avnet ZUBoard 1CG 开发板上手-深度学习新选择 摘要 本文主要介绍了 Avnet ZUBoard 1CG 开发板的特性.架构.硬件单元等概念,并对如何使用以太网接口和串口连接开发板进行 ...

  2. 屏蔽RaiDrive的广告

    RaiDrive 广告域名:ads.raidrive.com 在 HOSTS 添加 127.0.0.1 ads.raidrive.com 或者在代理中设置为阻止即可. 效果: 补 最新版(2023.9 ...

  3. Linux环境变量,知识点汇总

    一.什么是环境变量? 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数. 环境变量本质就是一张表,保存在内存当中. 该表在用户登录系统的时候 ...

  4. 电子行业MES系统流程图梳理

  5. CF1693D--单调区间

    \(T_4\) 单调区间结题报告 题目描述 一句话题意:给定一个排列 \(a\) 算出有多少个区间 \([l , r]\) , 满足其可以划分为一个单调递增子序列和单调递减子序列,其中单调递增子序列长 ...

  6. java_String方法大全

    1 String a = "abcdefg"; 2 3 String a = new String(); 4 String a = new String("abcdefg ...

  7. installer 命令介绍

    installer 命令是 macOS 系统中用于在命令行界面下安装 .pkg 格式的安装包的工具.这个命令特别有用于自动化安装软件或者在没有图形用户界面的情况下进行软件安装,比如在远程管理或者终端会 ...

  8. 在使用Nacos作为统一配置中心的时候,项目中使用@Value注解从Nacos获取值,一直报错Could not resolve placeholder 'blog.website' in value "${blog.website}".如下图:

    在使用Nacos作为统一配置中心的时候,项目中使用@Value注解从Nacos获取值,一直报错Could not resolve placeholder 'blog.website' in value ...

  9. android ImageView 设定宽度铺满,高度自定义

    问题:imageView 宽度铺满,高度自定义,会出现上下留白的现象(一般比例的还好) 解决: <xxx.xxx.xxx.xxx.FullWidthImageView android:id=&q ...

  10. vue echarts map 中国地图显示不出来

    测试区忽然无法显示中国地图,所以对比了一下测试区与开发环境中echarts版本的区别 测试区echarts版本为 5.4.2 开发环境为5.0.2 所以将package.json中的 "ec ...