知名企业网站,制作网站的步骤,wordpress xml地图,智能网站建设背景、关于NopCommerceNopCommerce是国外ASP.Net领域一个高质量的B2C开源电商项目#xff0c;最新版本4.2基于ASP.NET Core MVC 2.2和EF Core 2.2开发#xff0c;其强大的功能特性和插件机制使其成为了.NET领域开源电商项目的标杆。当然#xff0c;还有一些其他的开源电商项目如… 、关于NopCommerce NopCommerce是国外ASP.Net领域一个高质量的B2C开源电商项目最新版本4.2基于ASP.NET Core MVC 2.2和EF Core 2.2开发其强大的功能特性和插件机制使其成为了.NET领域开源电商项目的标杆。当然还有一些其他的开源电商项目如Smart.Net StoreSimplCommerce等但是其功能都不如NopCommerce齐全但是架构上却各有特色。这里我选择NopCommerce主要目的还是为了学习电商后台的业务功能以便未来能够吸取其设计并改造为微服务架构构造业务中台。二、下载NopCommerce 两种下载方式 1官方网站https://www.nopcommerce.com/downloads.aspx 2GitHubhttps://github.com/nopSolutions/nopCommerce/releases 这里我们选择 nopCommerce_4.20_Source.rar即源代码版本的release。三、运行NopCommerce3.1 编译代码 打开NopCommerce.sln解决方案可以看到如下图所示的代码结构 整个项目代码由4个部分组成核心库、插件库、展示层以及测试。关于每个部分的介绍可以阅读园友Runable的《基于NopCommerce的开发框架》一文。 这里借用Runable的一张图我们可以清晰看到各个层的主要组成部分及其职责。 先了解这么多先编译代码吧肯定是没有Error的除非你没有安装.NET Core 2.2的SDK。3.2 第一次调试运行 编译无误后我们就可以F5调试运行了第一次运行时会弹出安装配置页面如下图所示我们需要预先输入一个管理员账号以及数据库的连接信息这里我事先创建了一个nop_db的MSSQL数据库用于NopCommerce帮我创建tables。 关于MSSQL数据库也可以使用docker方式运行可以参考以下步骤 1拉取MSSQL镜像docker pull microsoft/mssql-server-linux 2创建MSSQL实例docker run -e ACCEPT_EULAY -e SA_PASSWORDYourStrong!Passw0rd \ -p 1433:1433 --name edc-mssql-dbms \ -d microsoft/mssql-server-linux 准备工作完成后点击“安装”按钮就开始了安装整个过程会持续接近1分钟左右 接下来你就进入了NopCommerce的默认商城主页如下图所示 这时我们可以检查一下MSSQL数据库已经帮我们创建了120张表了 除了前端我们常见的商城页面更强大的是后台系统通过在默认URL后边跟上Admin例如http://localhost:8080/Admin 则会跳转至后台登录页输入我们在首次配置时配置的邮箱和密码则进入了Nop的后台系统如下图所示商品管理、销售管理、客户管理、促销管理等常见电商后台功能一应具有。3.3 添加中文语言包 如果我们觉得英文看着吃力可以为Nop添加中文语言包。 1到这里下载Nop的中文语言包一个xml文件 2到后台系统中选择Configuration中的Languages菜单弹出的页面中点击Add New按钮表单中录入相应内容 3然后单击Import Resource按钮将中文包导入 4在首页的语言下拉菜单中选中“简体中文”刷新后就是中文菜单了四、以Docker方式运行NopCommerce NopCommerce 4.2基于ASP.NET Core开发自然支持Docker方式部署到Linux上同样两种方式 1使用官方自带的Dockerfile# create the build instance
FROM microsoft/dotnet:2.2-sdk AS build WORKDIR /src
COPY ./src ./ # restore solution
RUN dotnet restore NopCommerce.sln WORKDIR /src/Presentation/Nop.Web # build and publish project
RUN dotnet build Nop.Web.csproj -c Release -o /app
RUN dotnet publish Nop.Web.csproj -c Release -o /app/published # create the runtime instance
FROM microsoft/dotnet:2.2-aspnetcore-runtime-alpine AS runtime # add globalization support
RUN apk add --no-cache icu-libs
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANTfalse WORKDIR /app
RUN mkdir bin
RUN mkdir logs COPY --frombuild /app/published . ENTRYPOINT [dotnet, Nop.Web.dll] 2自行发布Release并上传到Linux上然后使用以下命令创建Docker实例docker run -u root --ulimit core0 --restartalways
-v /etc/localtime:/etc/localtime -d -e
--privilegedtrue --namenop_commerce_web
-p 8080:80
-v /Edison/publish/NopCommerce.Web/:/app
-w /app microsoft/dotnet:2.2-aspnetcore-runtime
dotnet Nop.Web.dll; 由于在配置过程中需要两个文件夹的支持所以进入docker实例中创建两个文件夹docker exec -it nop_commerce_web /bin/bash
mkdir bin
mkdir logs 然后查看docker状态启动成功参考资料Runable《基于NopCommerce的开发框架》向坤《NopCommerce从无到有-01》Nop《NopCommerce下载与安装》