在某些情况下为了实现Windows多台服务器负载均衡,需要使用共享来做图片及附件的上传空间。

这个时候就需要使用到Samba、IIS虚拟目录等相关技术

Web服务器使用upload作为上传的目录,现在需要使用2台服务器做负载均衡,后台使用一台Samba服务器作为文件共享存储

1.建立Samba文件服务器

卸载旧的samba组件,CentOS 6默认安装的是3.6的版本

forain`rpm-qa|grepsamba`;dorpm-e--nodeps$a;done

2.安装Samba 4

yum-yinstallsamba4samba4-commonsamba4-client

3.建立共享用户

说明:由于Windows在IIS中站点下是不能直接通过磁盘映射的方式作为站点路径,必须使用原始的\\192.168.10.2\sns\upload这样的目录,而此时访问共享的用户就是应用程序池的用户。


这个时候就可以2种选择:

a.samba使用匿名访问可读写

b.修改站点应用程序池用户为访问samba用户


第一种:使用匿名方式访问共享

为共享创建系统用户及组

groupadd -g 8800 smbgroup

useradd -g smbgroup -s /sbin/nologin -d /dev/null smbuser

创建共享目录

mkdir /data/share

chown -R smbuser.smbgroup /data/share

chmod -R 755 smbuser.smbgroup /data/share


4.配置Samba

/etc/samba/smb.conf

[global]
workgroup=WORKGROUP
serverstring=FileServer
#hostsallow=127.192.168.10
logfile=/var/log/samba/log.%m
maxlogsize=50

security=user
passdbbackend=tdbsam
maptoguest=baduser
guestaccount=smbuser

createmask=0775
forcecreatemode=0775
directorymask=0775
forcedirectorymode=0775

unixcharset=cp936
doscharset=cp936

usesendfile=yes
writeraw=yes
readraw=yes
maxxmit=65535
aioreadsize=16384
aiowritesize=16384
[upload]
comment=sns
path=/var/www/html/upload
browseable=no
guestok=yes
writable=yes
#validusers=@smbgroup

说明:在samba 4版本里面security这个值已经废弃了share,server。因此配置匿名访问就需要

security=user
maptoguest=baduser


5.测试samba

[root@gz17img40samba]#testparm
Loadsmbconfigfilesfrom/etc/samba/smb.conf
Processingsection"[upload]"
LoadedservicesfileOK.
Serverrole:ROLE_STANDALONE

PressentertoseeadumpofyourservicedeFinitions

#Globalparameters
[global]
doscharset=cp936
unixcharset=cp936
serverstring=FileServer
security=USER
maptoguest=BadUser
guestaccount=smbuser
logfile=/var/log/samba/log.%m
maxlogsize=50
maxxmit=65535
idmapconfig*:backend=tdb
createmask=0775
forcecreatemode=0775
directorymask=0775
forcedirectorymode=0775
aioreadsize=16384
aiowritesize=16384
usesendfile=Yes


[upload]
comment=sns
path=/var/www/html/upload
readonly=No
guestok=Yes
browseable=No


6.设置启动服务及开机启动

/etc/init.d/nmbstart
/etc/init.d/smbstart
chkconfignmbon
chkconfigsmbon


第二部分:Windows IIS使用共享作为路径

举例:

我需要在站点的SignPDF路径下建立PDF虚拟路径

1.点击“站点”--》对应的SignPDF目录,右击“SignPDF”,选择“建立虚拟目录”



wKioL1fAAubi488tAABKWHQp_Ww911.png

2.输入别名,我们这里输入“PDF”,然后选择对应的物理路径。

wKiom1fAA2qy5LSdAAAV2EfHiEI649.png

注意:

  1. 这里的物理路径,如果使用共享的话,不能使用磁盘映射的路径,比如我将共享映射为Z盘,这里选择Z盘是无效的,必须使用共享的全路径

  2. 如果Samba不是使用匿名访问的话,这里就需要选择“连接为”,设置对应的用户及密码,这里的用户需要自行到Windows系统中进行添加,并且用户名密码可访问共享。


第二种:采用用户名和密码的方式访问共享

为共享创建系统用户及组

groupadd -g 8800 smbgroup

useradd -g smbgroup -s /sbin/nologin -d /dev/null smbuser

创建共享目录

mkdir /data/share

chown -R smbuser.smbgroup /data/share

chmod -R 755 smbuser.smbgroup /data/share

创建smb访问账号及密码,smb账号要在系统中有同名账号,否则创建失败

smbpasswd -a smbuser

输入密码123456


4.配置Samba

/etc/samba/smb.conf

[global]
workgroup=WORKGROUP
serverstring=FileServer
#hostsallow=127.192.168.10
logfile=/var/log/samba/log.%m
maxlogsize=50

security=user
passdbbackend=tdbsam
#maptoguest=baduser
#guestaccount=smbuser

createmask=0775
forcecreatemode=0775
directorymask=0775
forcedirectorymode=0775

unixcharset=cp936
doscharset=cp936

usesendfile=yes
writeraw=yes
readraw=yes
maxxmit=65535
aioreadsize=16384
aiowritesize=16384
[upload]
comment=sns
path=/var/www/html/upload
browseable=no
#guestok=yes
writable=yes
validusers=@smbgroup

这里对比上面匿名访问的注释了

#maptoguest=baduser
#guestaccount=smbuser

在共享的时候修改了
#guestok=yes
validusers=@smbgroup


5.测试samba

[root@gz17img40samba]#testparm
Loadsmbconfigfilesfrom/etc/samba/smb.conf
Processingsection"[upload]"
LoadedservicesfileOK.
Serverrole:ROLE_STANDALONE

PressentertoseeadumpofyourservicedeFinitions

#Globalparameters
[global]
doscharset=cp936
unixcharset=cp936
serverstring=FileServer
security=USER
logfile=/var/log/samba/log.%m
maxlogsize=50
maxxmit=65535
idmapconfig*:backend=tdb
createmask=0775
forcecreatemode=0775
directorymask=0775
forcedirectorymode=0775
aioreadsize=16384
aiowritesize=16384
usesendfile=Yes


[upload]
comment=sns
path=/var/www/html/upload
readonly=No
browseable=No
validusers=@smbgroup

这个时候就可以通过访问\\192.168.10.20\upload,输入用户名密码smbuser,123456


6.设置启动服务及开机启动

/etc/init.d/nmbstart
/etc/init.d/smbstart
chkconfignmbon
chkconfigsmbon


第二部分:Windows IIS使用共享作为路径

举例:

我需要在站点的SignPDF路径下建立PDF虚拟路径

1.在系统中创建smbuser,密码一定要与上面创建的smbuser的密码一致也为123456

2.点击“站点”--》对应的SignPDF目录,右击“SignPDF”,选择“建立虚拟目录”



wKioL1fAAubi488tAABKWHQp_Ww911.png

3.输入别名,我们这里输入“PDF”,然后选择对应的物理路径,并点击“连接为”,输入账号smbuser密码123456

wKiom1fA_AvBm-jZAAAYomSK488146.png


4.现在就可以正常访问共享里的文件及内容了,但是你会发现无法上传。这是因为需要在web.config中定义用户名密码,在<system.web>下增加

<identityimpersonate="true"userName="sns.m.vxuepin.com"password="asc"/>

现在就可以正常上传图片了



问题:

1.在配置Samba后发现在A节点建立的目录,B节点无法写入,这是因为2个用户是一致的但是用户的组不一致。比如A服务器主机名为ServerA,B服务器的主机名为ServerB,因此在Samba中的A节点对应的权限就是ServerA\smbuser,B服务器对应的权限就是ServerB\smbuser,这就是造成2台服务器权限不一致的问题。

在smb.conf中添加

createmask=0775
forcecreatemode=0775
directorymask=0775
forcedirectorymode=0775

再重启服务即可

CentOS 6.8安装Samba 4做Windows共享服务器的更多相关文章

  1. android – 使用Samba / JCIFS问题写入/上传文件(SmbAuthException:拒绝访问)

    BTW我的三星电视是基于Linux并使用samba客户端访问相同的共享文件夹没有问题并播放MP3从那里.由于我的AOS设备通过WiFi访问我的LAN,我还检查了使用笔记本电脑WiFi访问共享文件夹,发现没有问题.添加:我现在正在尝试执行以下行:并获得相同的访问被拒绝.我甚至都不想写文件……解决方法我的天啊!!!解决方案很简单!

  2. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    这篇文章主要介绍了centos+php+coreseek+sphinx+mysql之一coreseek安装篇的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

  4. Centos7 中 Node.js安装简单方法

    这篇文章主要介绍了Centos7 中 Node.js安装简单方法,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下

  5. nodejs脚本centos开机启动实操方法

    在本篇文章里小编给大家整理的是关于nodejs脚本centos开机启动实操方法,有兴趣的朋友们参考下。

  6. Centos PHP 扩展Xchche的安装教程

    这篇文章主要介绍了Centos PHP 扩展Xchche的安装教程的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  7. Linux CentOS系统下安装node.js与express的方法

    这篇文章主要给大家介绍了在Linux CentOS系统下安装node.js与express的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

  8. CentOS上安装Node.js和mongodb笔记

    这篇文章主要介绍了CentOS上安装Node.js和mongodb笔记,本文讲解了Python安装、Node.js安装、npm安装、mongodb驱动安装、mongodb数据库操作测试代码等内容,需要的朋友可以参考下

  9. centos7上编译安装php7以php-fpm方式连接apache

    这篇文章主要介绍了centos7上编译安装php7以php-fpm方式连接apache的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  10. CentOS 7.9服务器Java部署环境配置的过程详解

    这篇文章主要介绍了CentOS 7.9服务器Java部署环境配置,主要包括ftp服务器搭建过程、jdk安装方法以及mysql安装过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部