兜兜有糖糖 發表於 2024-10-17 16:38:00

Next.js 与 React 全栈开发:整合 TypeScript、Redux 和 Ant Design

<p data-source-line="3">在上一集,我们编写完毕导航页面,并且非常的美观,但是我们发现编写网站是存静态的,在现代的网站当中一般都是动静结合,也就是说部分数据是从数据库读取的,部分静态数据是写在网页上面的,因此这章讲述如何搭建一个数据库。</p>
<h2 id="搭建数据库postgresql" data-source-line="5">搭建数据库(PostgreSQL)</h2>
<p data-source-line="7">在这里我们使用容器的方法进行数据库搭建,这样的好处在于我们能快速的完整搭建,而不需要了解搭建的细节。</p>
<p data-source-line="9">先判断服务器是否安装docker 容器,如果没安装需要安装,使用命令<code>docker ps</code>&nbsp;判断是否安装成功,如果成功则如下图所示。<br><img src="https://pic.dataeast.cn/picture/20241011213359.png?ynotemdtimestamp=1728887240937" data-processed="https%3A%2F%2Fpic.dataeast.cn%3A443%2Fpicture%2F20241011213359.png"></p>
<p data-source-line="12">如果未安装成功则使用命令&nbsp;<code>apt install docker.io</code>&nbsp;安装(Ubuntu服务器),其他服务器则使用其他命令,如&nbsp;<code>yum install docker.io</code></p>
<p data-source-line="14">安装容器成功之后,我们要使用Docker Compose进行容器管理,在当前目录下创建一个文件夹PostgreSQL_Compose用于存储Compose 配置文件,然后创建一个docker-compose.yml配置文件,并编辑以下内容保存。</p>
<pre data-source-line="16"><code class="hljs language-bash">version:&nbsp;<span class="hljs-string">'3.8'<br>services:<br>&nbsp;&nbsp;db:<br>&nbsp;&nbsp;&nbsp;&nbsp;image: postgres:13<br>&nbsp;&nbsp;&nbsp;&nbsp;container_name: nextjs_dbs<br>&nbsp;&nbsp;&nbsp;&nbsp;restart: always<br>&nbsp;&nbsp;&nbsp;&nbsp;environment:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POSTGRES_DB: nextjsdbs<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POSTGRES_USER: postgres<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POSTGRES_PASSWORD: 12345678<br>&nbsp;&nbsp;&nbsp;&nbsp;ports:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="hljs-string">"5432:5432"<br>&nbsp;&nbsp;&nbsp;&nbsp;volumes:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- ./data:/var/lib/postgresql/data<br></span></span></code></pre>
<p data-source-line="33"><img src="https://pic.dataeast.cn/picture/20241011214622.png?ynotemdtimestamp=1728887240937" data-processed="https%3A%2F%2Fpic.dataeast.cn%3A443%2Fpicture%2F20241011214622.png"></p>
<h3 id="docker-compose-配置文件解析" data-source-line="35">Docker Compose 配置文件解析</h3>
<p data-source-line="37">这个 Docker Compose 配置文件设置了一个 PostgreSQL 数据库服务。以下是各部分的详细说明:</p>
<ul data-source-line="39">
<li><code>version: '3.8'</code>: 指定使用的 Docker Compose 文件格式版本。</li>
<li><code>services</code>: 定义服务。
<ul>
<li><code>db</code>: 服务名称。
<ul>
<li>
<p><code>image: postgres:13</code>: 使用 PostgreSQL 13 版本的官方 Docker 镜像。</p>
</li>
<li>
<p><code>container_name: nextjs_dbs</code>: 指定运行容器的名称为&nbsp;<code>nextjs_dbs</code>。</p>
</li>
<li>
<p><code>restart: always</code>: 设置容器总是重启,确保服务持续运行。</p>
</li>
<li>
<p><code>environment</code>: 设置环境变量。</p>
<ul>
<li><code>POSTGRES_DB: nextjsdbs</code>: 初始数据库名。</li>
<li><code>POSTGRES_USER: postgres</code>: 数据库用户名。</li>
<li><code>POSTGRES_PASSWORD: 12345678</code>: 数据库密码。</li>
</ul>
</li>
<li>
<p><code>ports</code>: 端口映射。</p>
<ul>
<li><code>"5432:5432"</code>: 将容器内的 5432 端口映射到主机的 5432 端口。</li>
</ul>
</li>
<li>
<p><code>volumes</code>: 数据卷配置。</p>
<ul>
<li><code>./data:/var/lib/postgresql/data</code>: 将主机上的&nbsp;<code>./data</code>&nbsp;目录挂载到容器内的 PostgreSQL 数据目录,用于持久化存储数据。<br>这个配置文件设置了一个基本的 PostgreSQL 数据库环境,适合用于开发和测试 Next.js 应用程序。</li>

</ul>

</li>

</ul>

</li>

</ul>

</li>

</ul>
<h3 id="容器使用方法" data-source-line="60">容器使用方法</h3>
<p data-source-line="62">使用<code>docker-compose up -d</code>&nbsp;运行容器,如果没有命令则需要使用<code>apt install docker-compose</code>&nbsp;进行安装,下图为正在加载容器。<br><img src="https://pic.dataeast.cn/picture/20241011214920.png?ynotemdtimestamp=1728887240937" data-processed="https%3A%2F%2Fpic.dataeast.cn%3A443%2Fpicture%2F20241011214920.png"></p>
<p data-source-line="65">使用&nbsp;<code>docker-compose logs -f</code>&nbsp;命令查看容器的日志信息<br><img src="https://pic.dataeast.cn/picture/20241011215105.png?ynotemdtimestamp=1728887240937" data-processed="https%3A%2F%2Fpic.dataeast.cn%3A443%2Fpicture%2F20241011215105.png"></p>
<p data-source-line="68">使用&nbsp;<code>docker ps</code>&nbsp;命令查看容器的运行状态<br><img src="https://pic.dataeast.cn/picture/20241011215544.png?ynotemdtimestamp=1728887240937" data-processed="https%3A%2F%2Fpic.dataeast.cn%3A443%2Fpicture%2F20241011215544.png"></p>
<p data-source-line="71">如果你想看更多内容或者能够看到技术更新的内容,请百度搜索:<code>曲速引擎 warp drive csdn</code>&nbsp;在首页找到我的地址访问即可,一线更新内容将会在我的个人博客上面更新,谢谢大家。</p>
<p data-source-line="73">更详细内容查看</p>
<blockquote data-source-line="74">
<p>独立博客&nbsp;https://www.dataeast.cn/<br>CSDN博客&nbsp;https://blog.csdn.net/siberiaWarpDrive<br>B站视频空间&nbsp;https://space.bilibili.com/25871614?spm_id_from=333.1007.0.0<br>关注 “曲速引擎 Warp Drive” 微信公众号<br><img src="https://pic.dataeast.cn/picture/20241016170749.png?ynotemdtimestamp=1728887240937" data-processed="https%3A%2F%2Fpic.dataeast.cn%3A443%2Fpicture%2F20241016170749.png"></p>

</blockquote><br><br>
来源:https://www.cnblogs.com/XiaoH160309/p/18472600
頁: [1]
查看完整版本: Next.js 与 React 全栈开发:整合 TypeScript、Redux 和 Ant Design