先创建一个帐户如:mssql设置好密码,记住密码,分配好组,如GUETST
反点D盘,属性,安全,高级,添加,输入创建的帐户名,选择:只有该文件夹,勾上:读取权限(倒数第三个),点确定。MSSQL的DATA目录给MYSQL帐号读写权限
在INI和系统产品列表里设置的数据库用户目录和备份目录所在的盘的根目录也要做类似的权限设置,否则提示开通失败
反点我的电脑,管理,服务和应用程序,Microsoft SQL Servers,对着MSSQL反点,安全性,最下面:
启动服务帐户,选择本帐户,输入:.\帐号名,输入密码,点确定,就OK了
SQL2005:
SQL2005的有点不一样,是通过SQL Server Configuration Manager来配置的
打开SQL Server Configuration Manager
打开服务帐户,选择登录,此账号输入:.\帐号名,输入密码,点确定,就OK了
MYSQL也类似
先创建一个帐户如:mysql设置好密码,记住密码,分配好组,如GUETST
MYSQL安装目录添加一个mysql帐号
MYSQL的DATA目录给MYSQL帐号读写权限
一、首先下载jmail最新免费版 可以到s.下载
二、安装jmail:把JMail45_free.msi上传到服务器上安装,下一步下一步即可。为了今后备份方便可以安装到C盘。
三、注册jmail:在运行里输入:regsvr32 “C:\Program Files\Dimac\w3JMail\jmail.dll”
会提示注册成功即可。
四、修改目录权限:
此时用探针探测可能仍然提示不支持jmail组件。情况如同这里:win 2003 服务器 安装 Jmail 发信组件,安装成功,没有问题,但是用探针探测,却提示未安装
我估计是由于C盘program files的目录权限设置所致。不用重新启动,修改Dimac的目录权限,增加一个everyone组,然后刷新探针页面,马上就可以看到支持jmail.SMTPMail的Jmail邮件发送了。
当然不能让这个目录这么不安全,所以我们要接着删掉everyone组(所以实际上只是中间改了一下权限,后来又改回来了),探针仍然提示支持jmail。
Update:必须一直开放着everyone组权限,否则过后(可能是重启后)又会提示不支持该组件。
现在就可以正常发送邮件了。
注:当然,除了jmail组件的安装和注册正确外,你还必须设置好你的SMTP服务器,我刚开始时用Gmail的SMTP也不行,后来用另外一个站点上可以正常使用的搜狗企业邮局邮箱的配置就可以了。
搜狗/Gmail的SMTP配置:
要显示的发送邮箱:可任意设
服务器地址:smtp.mail.sogou.com/smtp.gmail.com(gmail的这个我没有成功发送过邮件)
SMTP登录用户名:你在搜狗或者Gmail的登录帐号。
SMTP登录密码:你在搜狗或者Gmail的登录密码。
后来看到:请问我用Gmail邮箱可以使用Jmail发信吗 提到:
一、GMail存在smtp。其地址为:smtp.gmail.com
二、GMail的smtp要求SSL的安全链接
三、GMail的smtp端口号不是25是465
Jmail的发信端口默认是25,不太清楚它能否支持自定义发信端口,如果不支持,那么它就不能支持GMail了。
另外Jmail不支持SSL安全链接,这也使它根本不可能使用GMail的smtp服务。
而我用的是jmail的免费版本,所以是不可能用Gmail的SMTP服务了,但帖子中的“看来用Gmail作为发件地址是不行了”这句回复有错,仍然可以用Gmail作为发件地址,只需把“要显示的发送邮箱”设置为Gmail的地址即可,但我测试过有些问题。
第一项“要显示的发送邮箱”虽然可以任意设,但最好让要显示的邮箱地址与SMTP的登录地址一样,这样子才可以立即收到邮件(用Gmail邮箱测试),否则会延缓几分钟或者直接就收不到邮件。本想如果这里可以任意设的话,那么我只需要修改这一个地方,以下三样都不修改即可,就可以实现用任何地址发信了。但测试了四封邮件,只收到一封而且延缓了几分钟,另外三封都没有收到(也不在spam中),发送的页面也响应了很久才提示发送成功。但一旦改为与SMTP登录用户名一样的地址,不但服务器发送的页面响应速度快,很快就提示发送成功,而且Gmail里也马上收到邮件。
1>开始>运行:CMD(确定)
2>cd C:\memcached(回车)
3>memcached -d install(回车 这步执行安装)
4>memcached -d start(回车 这步执行启动memcache服务器,默认分配64M内存,使用11211端口)
此时memcache服务器已经可以正常使用了。
在服务端运行:
# ./memcached -d -m 2048 -l 10.0.0.40 -p 11211
这将会启动一个占用2G内存的进程,并打开11211端口用于接收请求。由于32位系统只能处理4G内存的寻址,所以在大于4G内存使用PAE的32位服务器上可以运行2-3个进程,并在不同端口进行监听。
又如:memcached -d -m 10 -u root -l 192.168.105.73 -p 12000 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.105.73 ,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
memcache服务器安全:
Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄露被其他无关人员查看,重则服务器被入侵,况且里面可能存在一些我们未知的bug或者是缓冲区溢出的情况,这些都是我们未知的,所以危险性是可以预见的。为了安全起见,做两点建议,能够稍微的防止黑客的入侵或者数据的泄露。
现在就关于修改memcache服务器配置的问题说明如下:
1>用内网ip的方式提供web应用服务器调用,不允许直接通过外网调用,如将memcache服务器放在192.168.1.55的服务器上
2>修改端口,如改为11200
3>分配内存,如分配1024M(1G内存)
方法如下:
1>开始>运行:CMD(确定)
2>cd C:\memcached(回车)
3>memcached -m 1024 -p 11200 -l 192.168.1.55(回车)
注意,此时命令行不会回到C:\memcached>状态,并且实际上memcache服务器悄悄变为stop状态了。此窗口不可以关闭。新开一个cmd窗口
4>开始>运行:CMD(确定)
5>cd C:\memcached(回车)
6>memcached -d start(回车)可以关闭此cmd窗口。
此时可以使用新配置的memcache服务器了。
上述方法虽然解决了修改默认配置的问题,但是始终会有一个cmd窗口不可以关闭,否则就回到11211端口的默认配置。
更好的解决方案是通过修改服务的注册表配置:
1>开始>运行:regedit(回车)
2>在注册表中找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
3>默认的ImagePath键的值是:"c:\memcached\memcached.exe" -d runservice,改为:"c:\memcached\memcached.exe" -d runservice -m 512 -p 11200 -l 192.168.1.55(确定,关闭注册表)
4>我的电脑(右键)>管理>服务 找到memcache的服务,重新启动一次即可生效。
此时,同网段内的电脑仍然可以利用这台memcache服务器,我们限定指定的web应用服务器才能够使用,通过防火墙的方式。如只允许192.168.1.2这台Web服务器对Memcache服务器的访问,能够有效的阻止一些非法访问,相应的也可以增加一些其他的规则来加强安全性,这个可以根据自己的需要来做。
Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄露被其他无关人员查看,重则服务器被入侵,因为Mecache是以root权限运行的,况且里面可能存在一些我们未知的bug或者是缓冲区溢出的情况,这些都是我们未知的,所以危险性是可以预见的。为了安全起见,我做两点建议,能够稍微的防止黑客的入侵或者数据的泄露。
内网访问
最好把两台服务器之间的访问是内网形态的,一般是Web服务器跟Memcache服务器之间。普遍的服务器都是有两块网卡,一块指向互联网,一块指向内网,那么就让Web服务器通过内网的网卡来访问Memcache服务器,我们Memcache的服务器上启动的时候就监听内网的IP地址和端口,内网间的访问能够有效阻止其他非法的访问。
# memcached -d -m 1024 -u root -l 192.168.0.200 -p 11211 -c 1024 -P /tmp/memcached.pid
Memcache服务器端设置监听通过内网的192.168.0.200的ip的11211端口,占用1024MB内存,并且允许最大1024个并发连接
设置防火墙
防火墙是简单有效的方式,如果却是两台服务器都是挂在网的,并且需要通过外网IP来访问Memcache的话,那么可以考虑使用防火墙或者代理程序来过滤非法访问。
一般我们在Linux下可以使用iptables或者FreeBSD下的ipfw来指定一些规则防止一些非法的访问,比如我们可以设置只允许我们的Web服务器来访问我们Memcache服务器,同时阻止其他的访问。
# iptables -F
# iptables -P INPUT DROP
# iptables -A INPUT -p tcp -s 192.168.0.2 –dport 11211 -j ACCEPT
# iptables -A INPUT -p udp -s 192.168.0.2 –dport 11211 -j ACCEPT
上面的iptables规则就是只允许192.168.0.2这台Web服务器对Memcache服务器的访问,能够有效的阻止一些非法访问,相应的也可以增加一些其他的规则来加强安全性,这个可以根据自己的需要来做
很多时候需要监控服务器上的Memcached运行情况,比如缓存的查询次数,命中率之类的。但找到的
那个memcached-tool是linux下用perl写的,我也没试过windows能不能用。后来发现个简单的办法可以做到,就是使用Telnet。
1、windows系统连接memcached端口 cmd命令行中键入telnet 192.168.1.1 11211 11211是memcached绑定的端口号。
2、连接上端口后输入 stats命令,即可得到描述Memcached服务器运行情况的参数。
STAT pid 4356 服务器进程ID
STAT uptime 56625 服务器运行时间,单位秒
STAT time 1225249079 服务器当前的UNIX时间
STAT version 1.1.0 服务器的版本号
STAT pointer_size 64
STAT rusage_user 151.845489 该进程累计的用户时间(秒:微妙)
STAT rusage_system 121.667603 该进程累计的系统时间(秒:微妙)
STAT ibuffer_size 4096
STAT curr_connections 13 连接数量
STAT total_connections 54136 服务器运行以来接受的连接总数
STAT connection_structures 318 服务器分配的连接结构的数量
STAT cmd_get 100595 取回请求总数
STAT cmd_set 6510 存储请求总数
STAT get_hits 96543 请求成功的总次数
STAT get_misses 4052 请求失败的总次数
STAT bytes_read 4427679 服务器从网络读取到的总字节数
STAT bytes_written 6585596 服务器向网络发送的总字节数
1>、uptime 是memcached运行的秒数,
2>、cmd_get是查询缓存的次数。
3>、这两个数据相除一下就能得到平均每秒请求缓存的次数——最近niupu的流量很低,所以平均也就一秒请求一次多,
这么点大的压力,用文件系统缓存一样没问题,根本不会体现出使用memcached的优越。
4>、下面的cmd_set 就是设置key=>value的次数。整个memcached是个大hash,用cmd_get没有找到的内
容,就会调用一下cmd_set写进缓存里。
5>、紧跟着是get_hits,就是缓存命中的次数。缓存命中率 = get_hits/cmd_get * 100%。
6>、下面的get_misses的数字加上get_hits应该等于cmd_get。
7>、而total_itemscurr_items表示现在在缓存中的键值对个数.
8>、在图上total_items == cmd_set == get_misses,不过当可用最大内存用光时,memcached就会删掉一些内容,上面的等式就不成立了