通过IIS共享文件夹来实现静态资源"本地分布式"部署

  以下以文件型数据库(如sqlite)为例

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

  起因:要进行一个项目的分布式部署,而这个项目所涉及的其中一个数据库为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虚拟目录的时候添加的用户要跟此一致,所以我建议可以新建个用户。

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

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

 

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

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

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

下面回到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反向代理服务器进行客户端访问,同时进行一个负载均衡的处理

可能标题起得不应这么小,针对数据库了,共享目录应用可以很多,图片,json文件这些静态资源均可通过虚拟目录来实现集群共享。这样一来,大家可能觉得这文章对我会有点用,也就不会被移除首页了 汗~~

如我在上文的共享目录中放置一json文件

AB机子代码读取均是以下方式:

1 String jsonfile = “\\\\DESKTOP-F4SH980\\dbsqlite\\xml\\services.json";
2 String strcontent = File.ReadAllText(jsonfile);

真实路径是:\\DESKTOP-F4SH980\dbsqlite\xml   前面一定是双反斜杠,单个默认是C盘

代码中转义符的存在,所以直接就是四个反斜杠(好啰嗦,但有时候读不出来就是这小地方弄错)

 

写博客也是需要经验积累,慢慢摸索

 

 

 

转载于:https://www.cnblogs.com/joeymary/p/5686195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值