NopCommerce 4.2的安装与运行

一、关于NopCommerce

  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解决方案,可以看到如下图所示的代码结构:

  

  整个项目代码由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_EULA=Y' -e 'SA_PASSWORD=<YourStrong!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_INVARIANT=false

WORKDIR /app        
RUN mkdir bin
RUN 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/bash
mkdir bin
mkdir logs

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

参考资料

Runable,《基于NopCommerce的开发框架

向坤,《NopCommerce从无到有-01

Nop,《NopCommerce下载与安装

 

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
•目录(类别,产品等)的本地化 •奖励计分办法 •产品标签 •可配置的属性,如结帐“礼品包装”或“(输入自定义消息”) •可配置的客户属性,如“出生”日期(“电话号码”) •个人可指定的价格为个人客户群体 •允许用户输入产品价格(如果已启用) •更多的分析和报告 •后端秩序编辑 改进 •社会书签 •允许店主隐瞒非注册用户价格 •允许店主结帐管理条款和条件是否应接受前结帐 •新闻存档页 •允许店主来查看客户详细资料页面(管理区客户心愿) •更多的用户友好%Order.Product(第)%的消息模板标记 •重新命名Froogle到谷歌基地 •增加了选择的所有活动种类网格(管理区复选框) •新产品审查日期时间格式/新闻/博客/论坛的网页 •允许店主编辑顾客头像 •允许店主创造粘性的论坛主题 •论坛。新增的“删除”后/主题按钮确认框 •更多论坛订阅验证(1订阅用户应该积极而不是删除) •允许客户在结帐时,以消除应用于礼品卡 •新的管理类别查看 •客户在收到新的通知下午(警报) •显示警告,如果折扣在结帐时不能应用 •更名为“适用于订单总额”折扣类型为“适用于以小计” •源代码重构 •产品详细信息页面的动态更新时的产品价格已与默认情况下禁用的价格调整(属性) •礼品卡现在应用到订单总额(不以小计) •批产品编辑/删除 •批产品图片上传 •产品分类(前端) •支付宝(中国)支付模块(测试版) •能够使用HTML编辑器上传图片(管理区) •更多的SEO友好 •新的运送状态 - 发货 •新产品属性的控件类型的支持 - 多行文本框 •性能优化 •允许店主上载PDF标志 •允许商店的店主,以决定是否是一个积极的信息模板(可邮寄) •允许商店的店主,以显示对家中某些类别的页面 •允许店主指定的语言形象标志和使用语言的选择(默认是禁用的一个新的标志图像控制) •允许商店的店主,以发送测试短信 •产品在管理区(默认情况下禁用图像缩略图) •存储的IP新闻评论,博客评论,产品评论 •允许匿名用户电子邮件的朋友(可配置) •简化客户输入出生日期 •显示经常性的产品在购物车页面期信息(用于经常性产品) •网址重写的论坛组织,论坛和主题 •寻呼本地化页(管理区) •分页博客页面 修复 •导入语言包固定连接超时问题 •CSS的小错误修正 •保存Order.PaidDate订单总额为零时 •产品规格属性控制过滤器发出定额(国际名称) •Nop_NewsLetterSubscriptionLoadAll固定存储过程错误 •“当创建一个属性,一个'是预先选定的价值可能会导致一个错误”错误修复 •“订单总额”报告轻微错误(管理区>仪表盘) •securePay的错误和一个固定的页面结帐 •SagePay错误修复 •理想的产品名称错误修复 •单页结算发出定额 •贝宝直接定期付款的问题。 CreditCardTypeSpecified财产没有被指定。 •Froogle的问题。 “缺少产品类型值” •继续与航运多个供应商的错误率计算 •同一个问题“产品复制”选项创建日期 •更名为“被通知”到“是收件人通知”(礼品卡发件人) •小型固定折扣问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值