通过IIS共享文件夹来实现文件型数据库(如sqlite)分布式部署-virtualbox共享文件夹

楼主话:以下内容,若有不专业处,大胆喷,虚心求教。

起因:要进行一个项目的分布式部署,而这个项目所涉及的其中一个数据库为sqlite(经测试,同为文件型数据库的access也可行),众所周知,sqlite不支持远程访问。但我们这个所谓分布式构成一个局域网即可,所以就想到我们常用的ftp这种共享目录局域网访问的形式。将sqlitedb放到一个固定机子上。

接下来,开始百度,解决方案:

现有2台服务器:(192.168.0.38)A, (192.168.0.202)B ;

A服务器:数据库服务器兼IIS服务器,提供共享文件夹DbShare。

A、B服务器做IIS集群,部署报表系统,使用A提供的DbShare文件。

步骤:

一、创建共享文件

首先建立共享文件

1、将我们A服务器上防止数据库文件的文件夹设置为共享,这里要注意我们设置共享的用户,下面B服务器建立IIS虚拟目录的时候添加的用户要跟此一致,所以我建议可以新建个用户。

通过IIS共享文件夹来实现文件型数据库(如sqlite)分布式部署

新建用户直接下拉框中选择即可。

通过IIS共享文件夹来实现文件型数据库(如sqlite)分布式部署

然后在我们要访问这个共享文件夹的服务器上(也就是我们的A、B服务器),建立网络位置(空白处右键)

通过IIS共享文件夹来实现文件型数据库(如sqlite)分布式部署

2、(A、B服务器中)IIS创建虚拟目录,右击网站,选择添加虚拟目录,要共享出来的文件,右击属性:共享,加入用户权限。

通过IIS共享文件夹来实现文件型数据库(如sqlite)分布式部署

然后点击连接为,选择特定用户,这里的用户即上面我们创建共享文件夹时选择的用户

通过IIS共享文件夹来实现文件型数据库(如sqlite)分布式部署

至此,虚拟目录的创建告一段落。

下面回到sqlite的配置,说是配置,其实就是数据库链接字符串的设置:

<add name="dbConnStr" connectionString="Data Source=\\DESKTOP-F4SH980\dbsqlite\db\sqlite\Blogging_SQLite.db"/>

很简单,只是路径变了而已。

注意点:发布时,要把之前那个特定用户也配置到webconfig中:

  <system.web>

<identity impersonate="true" userName="zhj" password="123" />
<!--配置好后,发布能运行,iis express 不行,iis express即调试时,得注释掉-->
<customErrors mode="Off"/>

</system.web>

至此,搭建完成,AB两个IIS服务器均可访问位于同个目录下的db。

这一节搭建完了局域网分布式

下一节再介绍搭建完后,如何用Nginx反向代理服务器进行客户端访问,同时进行一个负载均衡的处理

如果您认为这篇文章还不错或者有所收获,可以点击右下角的【推荐】按钮,因为你的支持是我继续写作,分享的最大动力!

推荐阅读