如何正确设置美杜莎服务器进行本地开发

Medusa是一个基于NodeJS的无头电子商务平台,作为Shopify的开源和可行替代品进行营销。

在本文的最后,你应该知道Medusa是什么,安装并部署Medusa到Render。本教程需要NodeJS、NPM和Git的基本知识。

美杜莎入门

Medusa商店包含三个组件:无头服务器、管理仪表板和店面。

Medusa无头服务器是保存商店核心功能和数据的组件。管理仪表板和店面通过管理RESTAPI和店面RESTAPI与无头服务器交互。无头服务器由用于数据库的NodeJS和Postgres组成。

管理仪表板是商店运营商可访问的商店UI部分。商店经营者可以使用管理仪表板来创建、查看和编辑产品数据和订单。

店面是商店的UI部分,客户可以看到它并与之交互以查看产品和下订单。Storefront通常使用客户端****Javascript框架构建,例如React(NextJS、Gatsby)和VueJS。

要求

安装NodeJS

Medusa是基于NodeJS构建的,因此需要运行。node-vNodeJS-Medusa目前支持Node版本14和16。您可以通过在终端中运行来检查您拥有的版本。如果您的计算机上还没有安装Node,请阅读这篇关于如何安装NodeJS的文章。

安装美杜莎CLI

使用NPM全局安装MedusaCLI

npminstall

medusajs/medusa-cli--global

创建美杜莎服务器项目

使用示例产品数据引导一个新的Medusa服务器项目和种子。在本教程中,我们将为手表创建一个Medusa电子商务商店,我们将其命名为watch-store-medusa-server。

medusanewwatch-store-medusa-server--seed

启动美杜莎服务器

导航到我们的美杜莎服务器项目目录并启动服务器

cdwatch-store-medusa-servermedusadevelop

测试一下

使用不同的终端窗口向API的产品端点发送一个获取请求,curl以确认服务器运行正常。

curllocalhost:/store/products#IfyouhavePythoninstalled,youcanformattheJSONresult.curllocalhost:/store/products

python-mjson.tool

美杜莎服务器配置

在VSCode等代码编辑器中打开medusa项目文件夹,在文件夹的根目录下,有一个medusa-config.js文件,该文件包含Medusa服务器的所有配置,如数据库和插件。正确配置您的美杜莎服务器很重要。

安装PostgreSQL

PostgreSQL是一个开源的关系数据库系统。尽管运行Medusa服务器不需要Postgres,但强烈推荐它,因为它为您提供了一个更像生产的环境。如果您还没有安装Postgres,这些教程将解释如何在Windows、Linux和macOS上安装PostgreSQL

要检查安装是否成功,或者您是否已经安装了Postgres,请运行:

psql-V

创建Postgres数据库

在开始配置PostgreSQL之前,我们必须创建一个数据库。

accessthepostgresconsolepsqlpostgres#createanewuserCREATEUSERmedusa_adminWITHPASSWORDmedusa_admin_password;#createanewdatabaseandthenewlycreateduserastheownerCREATEDATABASEmedusa_dbOWNERmedusa_admin;#grantallprivilegesonmedusa_dbtothemedusa_adminuserGRANTALLPRIVILEGESONDATABASEmedusaTOmedusa_admin;#exitthepostgresconsolequit

将PostgresURL添加到环境变量

使用这个Postgres数据库URL模板:postgres://username:password

host:port/database和默认端口。将以下行添加到美杜莎服务器文件夹根目录下的.env文件中:

DATABASE_URL=postgres://medusa_admin:medusa_admin_password

localhost:/medusa_db

在中配置Postgresmedusa-config.js

module.exports={projectConfig:{//...otherconfigurationsdatabase_url:process.env.DATABASE_URL,database_type:"postgres",},};

您可以继续删除默认的SQLite数据库文件,它在medusa-config.js

安装Redis

Redis是一个开源的内存数据结构存储。除其他用途外,它还可用于分发和发送消息以及缓存。

虽然MedusaServer不需要Redis才能运行,但如果您想使用订阅者来处理事件,例如下订单并根据它们执行操作,则需要安装Redis。本教程介绍了如何在您的计算机上安装Redis。

要确认安装是否成功,或者如果您已经安装了Redis,请运行:

redis-server-v

启动Redis服务器

通过本教程了解如何启动和停止Redis服务器

#startredisserveronmacbrewservicesstartredis#startredisserveronlinuxsudosystemctlenableredis

将Redis的ServerURL添加到环境变量中

本地主机上的默认RedisURL是redis://localhost:

REDIS_URL=redis://localhost:

在medusa-config.js中配置Redis

module.exports={projectConfig:{//...otherconfigurationsredis_url:process.env.REDIS_URL},};

测试一下

检查是否一切正常。

#seednewpostgresdatabasenpmrunseed#starttheservernpmrunstart

设置文件存储插件

为了在Medusa中管理文件存储(例如上传产品图片),您需要集成一个文件存储插件。Medusa提供了三种处理文件存储的选项:MinIO、AmazonS3和DigitalOceanSpaces。

设置MinIO

推荐使用MinIO进行本地开发。MinIO类似于AmazonS3,只是它是自托管的。您可以按照本教程在您的计算机上安装MinIO。

启动MinIO服务器

当您的Medusa服务器运行时,请始终确保您的MinIO服务器正在运行。

MinIO的默认地址端口为,这与Medusa冲突,后者也使用端口。您应该将MinIO的端口从更改为其他端口,例如。

#launchtheminioserveronportminioserver~/data--address":"

一旦Minio服务器运行,您可以从浏览器访问控制台,并使用MinIO服务器打印到终端的URL和凭据。

创建一个MinIO存储桶

存储桶类似于文件系统中的文件夹或目录,其中每个存储桶可以保存任意数量的对象。

登录MinIO控制台后,您应该会看到与屏幕截图中显示的页面类似的页面。单击“创建存储桶”按钮以创建一个新存储桶来存储您的美杜莎服务器文件。您可以随意命名存储桶,在本教程中,我将存储桶命名为“美杜莎”。

创建存储桶后,您需要将其访问策略设置为Public。

单击侧边栏上的“存储桶”按钮,然后单击“管理”按钮。

单击访问策略按钮并将其设置为公开。

您还需要生成访问密钥。

单击控制台侧栏中的“身份服务帐户”,然后单击“创建服务帐户”按钮。

将生成随机访问密钥和秘密密钥。单击创建按钮后,将显示一个显示密钥的模式。确保在关闭模式之前将其复制到安全的地方,因为它只会显示一次。

安装MedusaMinIO插件

导航到medusa服务器项目目录并安装插件。

npminstallmedusa-file-minio

在VScode等代码编辑器中打开美杜莎服务器,并将以下内容添加到.env文件中:

MINIO_ENDPOINT=ENDPOINT#URLofyourMinIOserverMINIO_BUCKET=BUCKET#MinIOBucketNameMINIO_ACCESS_KEY=ACCESS_KEY#MinIOBucketaccesskeygeneratedearlier.MINIO_SECRET_KEY=SECRET_KEY#MinIOBucketsecretkeygeneratedearlier.

最终值应类似于以下内容:

MINIO_ENDPOINT=


转载请注明:http://www.aierlanlan.com/cyrz/4251.html

  • 上一篇文章:
  •   
  • 下一篇文章: