纵有疾风起
人生不言弃

NopCommerce 4.2的安装与运行

一、关于NopCommerce

NopCommerce 4.2的安装与运行插图

  NopCommerce是国外ASP.Net领域一个高质量的B2C开源电商项目,最新版本4.2基于ASP.NET Core MVC 2.2和EF Core 2.2开发,其强大的功能特性和插件机制使其成为了.NET领域开源电商项目的标杆。当然,还有一些其他的开源电商项目如Smart.Net Store,SimplCommerce等,但是其功能都不如NopCommerce齐全,但是架构上却各有特色。这里我选择NopCommerce,主要目的还是为了学习电商后台的业务功能,以便未来能够吸取其设计并改造为微服务架构构造业务中台。

二、下载NopCommerce

  两种下载方式:

  (1)官方网站:https://www.nopcommerce.com/downloads.aspx

  (2)GitHub:https://github.com/nopSolutions/nopCommerce/releases

  这里我们选择 nopCommerce_4.20_Source.rar,即源代码版本的release。

三、运行NopCommerce

3.1 编译代码

  打开NopCommerce.sln解决方案,可以看到如下图所示的代码结构:

  NopCommerce 4.2的安装与运行插图1

  整个项目代码由4个部分组成,核心库、插件库、展示层以及测试。关于每个部分的介绍,可以阅读园友Runable的《基于NopCommerce的开发框架》一文。

  这里借用Runable的一张图,我们可以清晰看到各个层的主要组成部分及其职责。

NopCommerce 4.2的安装与运行插图2

  先了解这么多,先编译代码吧,肯定是没有Error的,除非你没有安装.NET Core 2.2的SDK。

3.2 第一次调试运行

  编译无误后,我们就可以F5调试运行了,第一次运行时会弹出安装配置页面,如下图所示,我们需要预先输入一个管理员账号,以及数据库的连接信息,这里我事先创建了一个nop_db的MSSQL数据库用于NopCommerce帮我创建tables。

NopCommerce 4.2的安装与运行插图3

  关于MSSQL数据库,也可以使用docker方式运行,可以参考以下步骤:

  (1)拉取MSSQL镜像

docker pull microsoft/mssql-server-linux

  (2)创建MSSQL实例

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' \   -p 1433:1433 --name edc-mssql-dbms \   -d microsoft/mssql-server-linux

  准备工作完成后,点击“安装”按钮就开始了安装,整个过程会持续接近1分钟左右:

NopCommerce 4.2的安装与运行插图4

  接下来你就进入了NopCommerce的默认商城主页,如下图所示:

NopCommerce 4.2的安装与运行插图5

  这时我们可以检查一下MSSQL数据库,已经帮我们创建了120张表了:

NopCommerce 4.2的安装与运行插图6

  除了前端我们常见的商城页面,更强大的是后台系统,通过在默认URL后边跟上Admin,例如:http://localhost:8080/Admin 则会跳转至后台登录页,输入我们在首次配置时配置的邮箱和密码,则进入了Nop的后台系统,如下图所示,商品管理、销售管理、客户管理、促销管理等常见电商后台功能一应具有。

NopCommerce 4.2的安装与运行插图7

3.3 添加中文语言包

  如果我们觉得英文看着吃力,可以为Nop添加中文语言包。

  (1)到这里下载Nop的中文语言包(一个xml文件)

  (2)到后台系统中,选择Configuration中的Languages菜单,弹出的页面中点击Add New按钮,表单中录入相应内容

NopCommerce 4.2的安装与运行插图8

  (3)然后单击Import Resource按钮,将中文包导入

NopCommerce 4.2的安装与运行插图9

  (4)在首页的语言下拉菜单中选中“简体中文”,刷新后就是中文菜单了

NopCommerce 4.2的安装与运行插图10

四、以Docker方式运行NopCommerce

  NopCommerce 4.2基于ASP.NET Core开发,自然支持Docker方式部署到Linux上,同样两种方式:

  (1)使用官方自带的Dockerfile

# create the build instance FROM microsoft/dotnet:2.2-sdk AS buildWORKDIR /src                                                                    COPY ./src ./# restore solutionRUN dotnet restore NopCommerce.slnWORKDIR /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 supportRUN apk add --no-cache icu-libsENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=falseWORKDIR /app        RUN mkdir binRUN mkdir logs                                                              COPY --from=build /app/published .                            ENTRYPOINT ["dotnet", "Nop.Web.dll"]

  (2)自行发布Release并上传到Linux上,然后使用以下命令创建Docker实例

docker run -u root --ulimit core=0 --restart=always -v /etc/localtime:/etc/localtime -d -e --privileged=true --name=nop_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/bashmkdir binmkdir logs

  然后查看docker状态,启动成功

NopCommerce 4.2的安装与运行插图11

参考资料

Runable,《基于NopCommerce的开发框架

向坤,《NopCommerce从无到有-01

Nop,《NopCommerce下载与安装

 

文章转载于:https://www.cnblogs.com/edisonchou/p/nop_commerce_study_part_1.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » NopCommerce 4.2的安装与运行
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录