做一个SaaS独立站(2)- 安装配置

参考: https://tenancyforlaravel.com/docs/v3/quickstart/ 一步一步来:整个流程大概如下:

0,配置好租户的事件和数据建表,生成租户,触发各种bootstrap初始化。1,租户域名–》识别租户–》切换租户数据库–》切换各种资源–》运行应用–》运行相应任务命令2,主域名–》识别管理中心–》切换主数据库–》运行管理后台–》管理租户

源码:https://github.com/summerblue/laravel-shop/tree/L05_8.x安装后,简单运行一下是否正常,然后我们接下来把它改造成SaaS.

源码: https://github.com/archtechx/tenancy

安装后生成:migrations, config file, route file and a service provider然后 ,执行数据库迁移,生成 tenants 租户表,domains 域名表:

然后,注册 tenant包的 服务提供者,service provider inconfig/app.php.

一般来说,会继承原来的Tenant model, 进一步修改,同时也要在config/tenancy.php 配置好 Model:

这样!就算安装好了!下一步,我们要配置好 SaaS多租户的功能。

当新建租户的时候,会触发事件任务,例如执行 生成数据库CreateDatabase,迁移数据migration,填充数据seeder等等,在文件TenancyServiceProvider这里是配置 任务:

在app/Providers/RouteServiceProvider.php 修改路由,这样就可以进入管理中心的路由,而不是进入租户的路由:

在routes/tenant.php 配置租户的路由, PreventAccessFromCentralDomains的Middleware中间件是过滤掉不准主域名进入。InitializeTenancyByDomain是识别租户。

手动把database/migrations 相关需要迁移的文件 复制到 database/migrations/tenant 里面。当执行租户数据迁移时候就会自动执行,生成租户需要的数据表:

Tenant 是生成租户,而Domain是绑定租户Tenant,访问域名进行识别租户:

这时候,你可以浏览器访问 ‘foo.localhost’ ,就能够进入 租户的应用前端了。(注:要在hosts绑定域名和本地ip)租户的应用前端:

租户后台:

管理中心后台:

同时,可以在代码里面对租户进行如下操作:

完成!以上就是多租户SaaS的基本安装和配置。下面具体说说配置的知识点。

** 2.1 Events\\TenantCreated (租户生成时)配置:**租户生成时,具体执行的生成任务配置,这里举例几个:

例如,更新数据表内容如下:

例如,生成租户文件夹如下:

** 2.2 boot() 启动租户任务配置:**

在config/tenancy.php 可以配置相关参数,我的习惯是 不要seeder,直接把有需要的seeder做成 一个migration,直接执行migration。

这里需要的路由配置有:中心应用路由,管理中心路由,租户应用路由,租户管理后台路由。4.1 管理中心的路由配置 app/Admin/routes.php例子如下 :

4.2 租户管理中心的路由配置 app/Admin/routes.php例子如下 :

4.3 中心应用路由的路由配置 routes/web.php例子如下 :

4.4 租户应用的路由配置 routes/tenant.php例子如下 :

中心central 和 租户tenants 路由 的 相互限制方式:

1,租户命令:

2,cron Kernel 配置租户执行命令方式:

默认是不对的地址:

正确的图片地址应该是这样,有 tenancy/assets :

所以要图片资源的函数方法:

队列,redis, redis缓存 , 多租户, 文件独立 等都需要注意隔离的配置。

This cache store does not support taggingHi. If you want your cache to be tenant-aware, you need to use a driver that supports tagging, e.g. Redis.If you don’t need tenant-aware cache, comment out the CacheTenancyBootstrapper in your tenancy.php config file.

为了方便参考,这里提供我的github地址,有相关代码参考:https://github.com/liangdabiao/laravel-shop-saas所有账号密码都是 admin admin后台 /admin

同时也可以参考我的论坛SaaS代码,另一种方式:https://github.com/liangdabiao/bbs-saas-skeleton

外贸独立站首选,SaaS模式建站

外贸独立站可谓是目前跨境电商行业的新晋“流量明星”,但是很多人都不了解怎样去建立一个外贸独立站,而且建立一个高效的外贸独立站,有利于提升客户的购物体验,全方面的展示产品,高效的独立站,在搜索引擎方面,能提升其在用户搜索时的排名。而且在建站时,一定要选择一个稳定的建站服务器,不然在网站建设中,你想建立一个有特色的网站,服务器不支持,即使建好之后,用户在浏览时,网页十分的卡顿,谁还有心情购物,不但损失客户,还减少曝光。

什么是SaaS

它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。对于广大中小型企业来说,SaaS是采用先进技术实施信息化的最好途径。但SaaS绝不仅仅适用于中小型企业,所有规模的企业都可以从SaaS中获利。

SaaS建站VS传统建站

SaaS建站

服务企业为买家们提供服务器,进行统一维护更新升级,有新功能大家一起同步用,甚至不需要懂技术,建站成本低。功能随着开发而不断迭代升级,真正意义上的一套解决客户所有建站需求。SaaS建站都有明显的价格、效率、安全上的优势,经济优惠还高效,SaaS系统已经开发好了系统的后台,所有用户都是统一用着一个后台程序,前台页面可以由用户自行设计。这让用户建站变的简单,无需开发源码,无需独立的准备机房,实现了0基础也可以快速建站。

传统建站

需要企业自己去买服务器,自己部署,自己用技术写代码,或者外包技术团队写。但是传统模式下,研发难度是巨大,研发的成果只有单站点享受,对于某一功能需要升级时,不能满足时,只能选择放弃原来的站点以及在互联网的数据积累,对用户的营销非常浪费。技术成本,时间成本,对于绝大部分卖家来说门槛高,如果外包还需要考虑售后问题。

目前,很多外贸独立站的服务商们都能提供SaaS建站,比如shopaimi、shopify等企业供跨境卖家们选择。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。