一、关于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 : --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= --restart=always -v /etc/localtime:/etc/localtime -d -e --privileged=true --name=nop_commerce_web -p : -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下载与安装

作者:周旭龙

出处:http://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

NopCommerce 4.2的安装与运行的更多相关文章

  1. Python 2/3 安装与运行环境设置

    Python 2/3 安装与运行环境设置: 1.Python 软件源:https://www.python.org/    下载Win版本 https://www.python.org/downloa ...

  2. 使用工具安装,运行,停止,卸载Window服务

    WSWinForm.exe介绍 WSWinForm.exe是我自己开发的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说WSWinForm只是其注册程序的服务外壳,这个特性对 ...

  3. VMware10.06精简版安装后台运行

    VMware10.06精简版安装时会出现一个安装功能选择菜单,里面有一条后台运行必选功能,一般人会跳过条.当你打算在服务器上用vmware时,一定要安装后台运行服务,否则你无法换出正在运行的后台虚拟机 ...

  4. phpstudy 出现“请自行检查是否安装VC9运行库??”问题 -- 缺少vc9库

    phpStudy是一款PHP调试环境的程序集成包,该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便.好用的 ...

  5. JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)

    1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...

  6. 解决安装vc2005运行库时提示Command line option syntax error.Type Command/?for Help

    安装vc2005运行库时提示 这是因为它要自解压到用户的临时文件夹下,如果用户名中带中文,就会报错. 简单的解决方法是,手动解压之,再安装 当然,你也可以修改用户名或者再新建个用户.

  7. 解决不安装VC运行库(VC2005,VC2008),程序运行出错的方法

    因为VS2005以后程序采用了manifest的生成方式,所以发布的时候要和运行库一起发布.但是我们平时开发和发布的时候如果都要客户安装运行库,那就不太方便了.你可以Microsoft下载:http: ...

  8. win7 64下暗黑世界V1.1 服务器端及客户端的安装及运行 成功

    原地址:http://bbs.gameres.com/thread_223717.html 屌丝一枚,没有MAC 更没有XCODE 潜心整了星期六与星期天两天才安装运行成功...只能说安装太复杂了,, ...

  9. Visual Studio 2015 Update 1 成功安装后运行 “出现未能正确加载[XXXX]包,此问题可能是由配置更改或安装另一个扩展导致的。” 可能的解决方法

    作死装Visual Studio 2015 update 1.安装过程中虽然波澜不惊,但是安装之后运行回报未能正确安装[XXXX]包.找了半天,在stackoverflow中找到了相关的问题,在问题描 ...

随机推荐

  1. CentOS 安装Asp.net Core & FTP服务

    网络设置 确认是否成功连网: ping baidu.com 如果无法上网请检查以下设置 ip link show vim /etc/sysconfig/network-scripts/ipcfg-(看 ...

  2. 与用户xxx一起提供的密码不正确。请确认输入的密码正确并重试

    环境: SharePoint 2010 / 2013 以系统账户身份登录管理中心,然后创建Web Application,报: 与用户xxx一起提供的密码不正确.请确认输入的密码正确并重试 明明都已经 ...

  3. SQL Server优化技巧——如何避免查询条件OR引起的性能问题

    之前写过一篇博客"SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析",里面介绍了OR可能会引起全表扫描或索引扫描的各种案例,以及如何优化查询条件中含有OR的SQL语句的 ...

  4. ORA-00904:"WM_CONCAT":标识符无效

    原创 Oracle 作者:Root__Liu 时间:2019-11-21 18:49:27  514  0 今天客户现场业务甩给我一个报错让处理,ora-00904:"WM_CONCAT&q ...

  5. <深度学习>TensorBoard的demo

    import tensorflow.compat.v1 as tf import os os.environ["CUDA_VISIBLE_DEVICES"] = "-1& ...

  6. CentOS 7怎么删除mariadb

    参考链接:https://www.cnblogs.com/ytkah/p/10876824.html

  7. JavaScript Array filter() 方法

    JavaScript Array filter() 方法 var ages = [32, 33, 16, 40]; function checkAdult(age) { return age > ...

  8. C语言程序设计100例之(22):插入排序

    例22  插入排序 问题描述 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素或记录的任意序列,重新排列成一个以关键字递增(或递减)排列的有序序列. 排序的方法有很多,简单插入排序就是一 ...

  9. Navicat Premium连接mongodb基本使用和介绍

    Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具, 它可以让你以单一程式同时连线到 MySQL.SQLite.Oracle 及 PostgreSQL,mongodb ...

  10. 目前下载VS2017你可能会遇到这个坑

    可能现在大伙都已经开始使用VS2019进行开发了.VS2019的下载使用也都很简单.由于工作需要,今天要在笔记本上安装VS2017,结果发现,VS2017的下载变得不是那么容易了,官方的下载方式也隐藏 ...