‘WEB 服务器’ 分类下的所有文章
2017二月11

aspx加载缓慢并且白页

IIS 评论关闭

aspx页面打开缓慢一直白页,说明在进行排队,系统处理不来。
打开perfmon: asp.net 4.0 的Requests Current, Requests Queued. Requests Queued果然有几百个在等着。
解决方法:在排除程序问题后,
应用程序池-高级设置:最大进程模型开大,直到Requests Queued降下来。
IIS处理并发请求设置

2015十二月6

iisreset提示访问被拒绝,必须是该远程计算机的管理员才能使用此命令

IIS 评论关闭

问题:iisreset提示访问被拒绝,必须是该远程计算机的管理员才能使用此命令
原因:cmd.exe权限不是administrator引起
临时解决:右键cmd.exe 以管理员运行,执行iisreset解决
永远解决:建立cmd.exe的快捷方式或者开始里的cmd,右键-属性-快捷方式-高级-以管理员身份运行。
       或者建立windowssystem32iisreset.exe的快捷方式
       将快捷方式放到lanuch中,随时调用。

2015九月8

执行远程服务器命令PsExec

windows server 评论关闭

一、下载PsExec

二、命令如下:

>psexec \172.16.88.204 -u vss -p vssp cmd –打开cmd执行命令
>psexec \172.16.88.204 -u vss -p vssp -c my.bat
 

三、在下载的文件中还有其它命令,作用有:

 
(2)psservice 管理远程服务器的服务
psservice 远程机器ip start tlntsvr
 
 
(3)pssuspend 暂时停止远程服务器进程
 
(4)psinfo 获得操作系统信息,硬件信息和软件信息。
 
(5)pslist 查看进程。
比如要以任务管理器模式实时查看进程情况,并且刷新间隔为3秒可以打:
pslist -s -n 3 远程机器ip
 
(6)psuptime
psuptime是一个了解远程机器运行了多久的命令。
使用它只需要打:psuptime 远程机器ip
 
(7)psshutdown
psshutdown是一个远程关机命令。
比如我想让远程机器30秒后关闭并显示(要关机了,请保存文件)则打:
psshutdown -t 30 -s -m "要关机了,请保存文件" 远程机器ip
 
(8)psfile
psfile是一个显示机器上的会话和有什么文件被网络中的用户的打开的命令。
 
(9)psloggedon 是一个显示目前谁登陆的机器的命令。
psloggedon 远程机器ip
 
(10)psgetsid 获取账号sid信息的工具。
psgetsid 远程机器ip abc
 
(11)pskill 杀除进程的程序。
pskill 远程机器ip 999   或   pskill 远程机器ip srm
 
(12)psloglist 是一个查看系统事件记录的程序。
如果我想看远程机器的系统事件记录只用打:
psloglist 远程机器ip 123
比如我想看最近的10条error类型的记录可以打:
psloglist 远程机器ip -n 10 -f error
2015六月15

EXCEL连接SQLServer打开文件刷新

windows server 评论关闭
一,解决打开文件显示警告的事宜
 
点Excel最左上角的“花”,右下的“Excel选项”,左边的“信任中心”,右边的“信任中心设置”,左边的“外部数据”(External Content,倒数第2个),如果你不希望出现那个提示,右边两个都选第一个选项(自动更新数据)或者都选第3个选项(不更新,不提示)。
 
 
 
二,
 
1,在连接属性里记住密码
 
2,配置 Excel Services 身份验证设置
在数据连接的 Excel 工作簿中的“数据”选项卡上,单击“连接”。
在“工作簿连接”对话框中,选择要更新的数据连接,然后单击“属性”。
在“连接属性”对话框中的“定义”选项卡上,单击“身份验证设置”。
在“Excel Services 身份验证设置”对话框中,选择“无”选项,然后单击“确定”。
在“连接属性”对话框中,单击“确定”。
2015四月8

远程桌面无法使用剪贴板共享

windows server 评论关闭

1:打开任务管理器
2:找到结束进程rdpclip,找不到可以直接跳到下一步。
3:点击 开始→运行,在“打开”框中输入rdpclip,运行。

2014十二月30

系统显示am,pm时间,而不是24小时进制的问题

IIS 评论关闭

做的系统以12小时制显示时间,改为24小时的方法是在IIS的.net全球化中,修改区域性为简体中文。

2014十一月27

导入IIS log入SQLSERVER

IIS 评论关闭

1. Download the Log Parser tool from Microsoft here. I know, it’s old but works great.

2. Dump your IIS log files somewhere (ie: c:\temp\logs).

3. Run this in cmd:

C:\Program Files (x86)\Log Parser 2.2>logparser “SELECT * INTO iisLogs FROM c:\temp\logs\*.log ” -i:iisw3c -o:SQL -server:localhost -database:webLogs -username:sa -password:yourpass -createTable: ON
if you’re on 32bit, run Log Parser will be in this folder:

C:\Program Files\Log Parser 2.2>logparser “SELECT * INTO iisLogs FROM c:\temp\logs\*.log ” -i:iisw3c -o:SQL -server:localhost -database:webLogs -username:sa -password:yourpass -createTable: ON

来自:

http://chrisbitting.com/2012/04/12/importing-iis-logs-into-a-sql-database-table/

下载:log parser:http://www.microsoft.com/en-us/download/confirmation.aspx?id=24659

2014十月21

winrar制作升级包

windows server 评论关闭

@echo off

::set fdir=%WINDIR%\Microsoft.NET\Framework64

::if not exist %fdir% (
:: set fdir=%WINDIR%\Microsoft.NET\Framework
::)
::set msbuild=%fdir%\v4.0.30319\msbuild.exe
::%msbuild% website.publishproj /p:DeployOnBuild=true /p:PublishProfile=.\App_Data\PublishProfiles\发布.pubxml /p:VisualStudioVersion=11.0 /p:OutputPath=D:\deploy

::复制
ROBOCOPY M:\Luke\LengKu\Web N:\deploy\ccms\ccms /XO /MIR /XF web.config ConnMapping.xml release.bat website.publishproj JavaField.xml /XD Files ewebeditor extjs ExtLib icon images JScript Resources

::压缩并添加解压的文件路径,这样copy上去后直接点解压即可
del N:\deploy\ccms.exe
cd /d N:\deploy\ccms
“C:\Program Files\WinRAR\rar.exe” a -k -r -s -sfx -z”N:\deploy\DeployTools\winrarPath.ini” N:\deploy\ccms.exe ccms DB
::start N:\deploy
::打开teamview准备上传
“C:\Program Files (x86)\TeamViewer\Version9\teamviewer.exe” -i aa –Password bbbb -m fileTransfer

winrarPath.ini文件:
Path=E:\IISROOT\
Overwrite=1

2014十月3

cmd下用curl 向 https post json数据

windows server 评论关闭

1,下载包含ssl的curl: 地址:http://www.confusedbycode.com/curl/
2,json数据注意两点:1)用3个引号替换1个引号(因为cmd为自动去掉引号) 2)项与数据之间不要有空格
格式:
curl -X POST https://enjoyasp.net -d {“”"api_key”"”:”"”4c38d5a2d564d52a1390d2e9fce88ea1″”",”"”data”"”:{“”"item”"”:[{"""text""":"""This is a new message""","""type""":0}]}} -H “Content-Type:application/json” -k

3,curl使用方法:http://www.ruanyifeng.com/blog/2011/09/curl.html

2014七月30

teamcity自动生成与部署 持续化集成

windows server 评论关闭
持续化集成比较:
TFS自身:大而全,不灵活
cc.net:已经陈旧
teamcity:灵活简单 + Psake,完善的邮件通知,更多工具集成
2014六月24

Powersheel批量替换指定目录下文件中的指定字符串

windows server 评论关闭

遇到一个需求,替换某目录下每个文件中指定的多个字符串,用powershell解决

$fileList = Get-ChildItem  'N:\ps\ClassLibrary\' -recurse *.cs | %{$_.FullName}
Foreach($file in $fileList)
{
    (Get-Content $file) |
	Foreach-Object {
		$_ -replace 'bdOrderinfo_save','Orderinfo_save'-replace bdOrderinfo_sel','Orderinfo_sel'

		}  |
	Out-File $file

}
2013十二月12

linux软件为什么需要编译安装

linux 评论关闭

linux下软件是开源的,若要自己自定义改些东西,就需要编译,否则copy即可。

服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是一样的。Intel宣传自己的编译工具Intel C++ Compiler 比GCC编译出来性能要提升10%-20%,这就是一广告,生产环境很少用人用它,何况它还要收费

性能真不是问题,比如 strip 命令可以大大减小可执行文件的size,但是我装过几千遍软件,都没有见有人在安装脚本里面使用。

软件需要编译安装的真实理由有如下3点:

  1. 软件在编译期间需要配置,比如说nginx,需要在编译的时候指定包含哪些module,php,apache 也是一样。

    同样的是数据库,mysql 通过编译安装,因为要定制存储引擎(是否支持innodb .. ),而sqlite却绝少有人编译,都是直接下载二进制文件来用。

  2. 软件需要统一安装路径,每个team都会自己的安装目录约定,有些喜欢装在 /opt/下面,有些喜欢装在 /usr/local/ ,编译安装可以方便的指定这些路径(configure –prefix=xxx )
  3. 需要最新的版本,软件仓库的版本一般都比较低,这个理由其实不充分,生产环境倾向保守,不追求最新版本,但是对于geek来说,这可能是最重要的原因

弄明白原因之后,就很容易判断编译还是下载:

  • nginx/apache/php/mysql 编译安装
  • python/ruby/java 直接下载
2013十一月13

IOMeter测试磁盘性能

windows server 评论关闭
一,下载:IOMeter http://www.iometer.org/
 
二,关键指标
IOPS(I/Os per second):即每秒输入输出次数。指的是系统在单位时间内能处理的最大的I/O频度;一般,OLTP应用涉及更多的频繁读写,更多的考虑IOPS;IOPS测试结果与很多测试参数和存储系统具体配置有关。IOPS还可以细分为100%顺序读(Sequential Read)IOPS、100%顺序写IOPS、100%随机读IOPS、100%随机写IOPS等,在同等情况下这四种IOPS中100%顺序读的IOPS最高。 
 
吞吐量(throughput):指的是单位时间内最大的I/O流量;每秒处理IO的大小,一些大量的顺序文件访问,更多考虑throughput指标。
 
三,IOOMeter界面使用
1,Topology:设置worker数,一般越多测试性能越好,设置好一个worker好,可通过标题栏进行复制,worker数会有一个顶点,到了之后,再增加worker,性能也不会有多大提升。
2,Disk Targets: Maximun Disk Size,为0时填充硬盘所有空间,此时可测出最真实数据,若不想填充全部,也要越大越好,几十上百个G。注意后面是扇区,一个扇区是512字节。
3,# of Outstanding I/O of Outstanding I/Os per target – 被选中worker的每个磁盘一次所允许的未处理的异步I/O的数量。越多测出的数字越大(到了一定量也不再随着增多而增大),它是用来给磁盘送数据的,设置越高,传数据越多。若是1的话,传一个块过去就不传了。
(注意:如果操作完成的非常快,磁盘实际看到的队列深度可能更少,默认值是1)举个例子:假设选中了一个Manager,选中8个Disk,指定# of Outstanding I/O of =16,磁盘被分布到咯咯worker(每个worker分到2个disk),每个worker对其下的每一个disk生成最大16个未处理I/O,那么整个系统中该Manager每次将生成最多128个未处理I/O(4 worker * 2disk/worker * 16未处理I/O/disk)。
   模拟测试多个应用向IO请求读写,默认是1。通常不用这个参数,除非是用在NAS/SAN上面。此参数和”Test Setup”面板上的Cycling Options有关。 
 
3,Access Specifications:设置数据。硬盘的读性能要比写性能好,顺读比随机好
1)检测最大IOPS:文件尺寸为512B,100%读取操作,随机率为0%
2)检测最大吞吐量:文件尺寸为64KB,100%读取操作,随机率为0%
3)检测SqlServer最大IOPS:文件尺寸为8k,100%读取操作,随机率为100%
4)文件尺寸从0.5KB到64KB不等,80%读取操作,随机率为100%,用于模拟文件服务器的性能
5)文件尺寸从0.5KB到512KB不等,100%读取操作,随机率为100%,用于模拟Web服务器的性能
 
4,Result Of Display:
1)start of Test – 显示从测试开始后所收集的数据的平均值或总和,iometer在多种参数下跑过的平均值和
2)Last Update – 显示从上一个更新开始后所收集的统计信息,只看这一次的结果不和前次比较;
3)Update Frequency:刷新频率,2秒一次。
4)average i/o response time:平均延迟时间
 
四、测试结果:

随机读8K测试结果
机器 IOPS每秒
我的电脑 100
183硬盘 1000
192硬盘阵列 2000
183fushion卡 100000
五、相关资料:
Windows 7 and Vista will automatically align a partition to 4k 

http://www.myce.com/review/corsair-neutron-gtx-240gb-ssd-review-63881/iometer-test-results-5/

Windows 7 and Vista will automatically align a partition to 4k boundaries during partition creation, Windows XP won’t. It is imperative that an SSD’s partition is aligned. Windows XP is also restricted to sector boundaries, while Windows 7 will use 4k boundaries if it can. The Corsair Neutron GTX is 4k boundary aware, and will use these boundaries if possible. Of course it will also remap LBAs for compatibility with the sector boundaries so that the drive can be used with Windows XP.IOMeter allows us to set the sector boundaries for conducting the tests, and I have therefore set the sector boundaries at 4K, which means the IOMeter tests are valid for Windows 7 and Windows Vista users. XP users will not be able to obtain such results.
 
64K is the EQL RAIDset stripe size, to that works best.

http://community.spiceworks.com/topic/315228-iometer-fills-up-the-disk

 
Iometer用户手册

https://community.emc.com/docs/DOC-24952

 
Iometer使用说明

http://support.huawei.com/ecommunity/bbs/10141935.html

 
2013九月25

windows复制

windows server 评论关闭

Windows Vista、Windows 7以及Windows Server 2008提供了强大的复制功能,可以进行数据复制与同步

 
将指定目录下指定类型的文件按原有目录结构存放至新位置
robocopy G:\教程\书籍\Dropbox\goodasong M:\test *.txt  /s 

同步文件夹:每次只复制新更改的,让源与目录保持一致
ROBOCOPY E:\TeamCity\buildAgent\work\BatchFiles\BUBRM.Web  J:\robot /XO /MIR
/XO: 排除较旧的文件,已同步的文件不再同步
/MIR: 镜像目录树,让源与目录保持一致,如源删除了则目录也要删除。

在robocopy命令后加上"/save:任务名",可以将当前操作保存为任务文件,通过使用"/job:任务名"就可以方便的进行调用
 

/s:除了空文件夹以外的所有子目录
/e :全部目录 
/xf:指定不执行复制操作的文件类型
/max:10000000 可以选择文件大小上限,其单位为byte。如果是"/min",限定了文件大小的下限。两个参数可以同时使用,限制出所需复制的文件大小的范围。
/maxage:5 将D:Document下修改时间在5天内的文件
如:robocopy D:\Document H:\Project /maxage:5 /minage:1
 
robocopy D:\Document H:\Project /mir
表示清理目标文件夹内有而源文件夹里没有的文件和文件夹。通过这个命令,能保证源文件夹和目标文件夹在结构与内容上完全相同。
 
/move:移动文件
/create:拷贝一个多级目录的目录树,或者说只需要它的结构,而不需要它的内容
参数"/xa:h"表示将具有隐藏属性的排除出欲复制的范围,与之相对应的是参数"/ia",表示只复制包括指定属性的文件。
可用的属性有;R只读、A存档、S系统、H隐藏等。
2013二月1

网站连接数查看

IIS 评论关闭

一、运行–>输入“perfmon.msc”

二、在“系统监视器”图表区域里点击右键,然后点“添加计数器” 
三、在“添加计数器”窗口,“性能对象”选择Web Service,“从列表选择计数器”选中Current Connection,“从列表选择实例”选中你要统计的站点,最后点击“添加”按钮

2013一月31

映射持久网络驱动器

windows server 评论关闭
net use x: \\172.16.88.204\soft-0509 密码 /user:administrator /persistent:yes
2013一月9

HTTP 错误401.1 – 未经授权:访问由于凭据无效

IIS 评论关闭

1、错误号401.1

症状:HTTP 错误 401.1 – 未经授权:访问由于凭据无效被拒绝。

分析:

由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。

解决方案:

(1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:

控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。如果还没有解决,请继续下一步。

(2)查看本地安全策略中,IIS管理器中站点的默认匿名访问帐号或者其所属的组是否有通过网络访问服务器的权限,如果没有尝试用以下步骤赋予权限:

开始->程序->管理工具->本地安全策略(secpol.msc)->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。

注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。 2、错误号401.2


症状:HTTP 错误 401.2 – 未经授权:访问由于服务器配置被拒绝

原因:关闭了匿名身份验证

解决方案:

运行inetmgr,打开站点属性->目录安全性->身份验证和访问控制->选中“启用匿名访问”,输入用户名,或者点击“浏览”选择合法的用户,并两次输入密码后确定。

错误号:401.3

症状:HTTP 错误 401.3 – 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。

原因:IIS匿名用户一般属于Guests组,而我们一般把存放网站的硬盘的权限只分配给administrators组,这时候按照继承原则,网站文件夹也只有administrators组的成员才能访问,导致IIS匿名用户访问该文件的NTFS权限不足,从而导致页面无法访问。

解决方案:

给IIS匿名用户访问网站文件夹的权限,方法:进入该文件夹的安全选项,添加IIS匿名用户,并赋予相应权限,一般是读、写。 

2013一月6

反向代理

IIS 评论关闭

反向代理(Reverse Proxy)方式是指以代理服务器来接受外部的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给外部的请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理服务器位于本地WEB服务器和外部网络之间,如下图所示:

当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB 服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网 页和图片等),而一些CGI脚本程序或者ASP.NET/JSP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP头标 记:

  • Last-Modified: 告诉反向代理页面什么时间被修改
  • Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
  • Cache-Control: 告诉反向代理页面是否应该被缓冲
  • Pragma: 告诉反向代理页面是否应该被缓冲.

Application Request Routing(ARR)是一个基于代理的路由模块,可以根据HTTP头、服务器变量和负载均衡算法将HTTP请求转发到内容服务器上。它可以增强应用程序的效率和可扩展性,更好地利用内容服务器资源,并能够简化应用程序的部署,包括pilot management和A/B测试。ARR还有一种特性叫做shared hoster,用于修改如何共享目前提供的共享主机,为客户增加额外的服务。IIS 7.0 的应用请求路由模块(Application Request Routing (ARR) module),我们可以轻松实现反向代理.如何使用可参看下列几篇文章:

如何利用 IIS7 的 ARR 模??做 Reverse Proxy ?制

在IIS7中应用Application Request Routing配置反向代理

web developer tips (36):使用IIS7.0 应用请求路由模块管理网站的beta版程序

用 IIS 7、ARR ? Velocity 建设高性能的大型网站

IIS 6可以使用google code上一个项目:A C# reverse proxy for IIS

引自http://www.cnblogs.com/shanyou/archive/2009/11/15/1603245.html

2012十一月19

server服务启动不了 错误5:拒绝被访问

windows server 评论关闭

解决方法:
a. 运行MSCONFIG
b. 在常规下选择 选择性启动
c. 然后清除Process System.ini File, Process Win.ini File和Load Startup Items 的复选框,但是保留使用原始Boot.ini。
d. 在服务下,先点隐藏所有windows 服务,然后选择 disable all.
e. 然后重新启动。观察问题是否依旧发生。

2012十月17

远程连接保持不断开注销

windows server 评论关闭

 开始–>运行–>gpedit.msc
       计算机配置->管理模板->Windows组件->终端服务->会话
       把"为断开的会话设置时间限制"改为"未被配置"。

       如果通过上面的操作,还会出现远程桌面连接断开过段时间之后,运行的软件自动关闭的话,就再进行以下操作:
       开始–>运行–>tscc.msc
       连接–>RDP-Tcp右键属性–>会话
       把这里面的替代用户设置的设置都改为从不,并且把从不勾选。

       需要说明的是:前述工作做完后,本人的远程服务器还是问题依旧,接下来:

       取消开机按ctl+alt+del,这一点大家都会吧。

       开始–>所有程序–>管理工具–>本地安全策略–>本地策略–>安全选项:microsoft网络服务器:当登录时间用完后自动注销用户,改为“已禁用”。microsoft网络服务器:在挂起会话之前所需的空闲时间,改为99999,实际上是禁止了此策略。

       最后,如果可能,到服务器上用administrator登录一次。

       还有,最关键的一步:当您登录远程服务器后,在退出的过程中,不要直接点击远程桌面程序的那个“×”,也不能点注销了。而是在远程服务器的桌面上,点“开始--关机--断开”,这一点十分重要。

Windows Server2003默认情况下允许远程终端连接的数量是2个用户,我们可以根据需要适当增加远程连接同时在线的用户数。
   单击“开始→运行”,输入“gpedit.msc”打开组策略编辑器窗口,依次定位到“计算机配置(computerconfiguration)→管理模板(administrative templates)→Windows 组件(windowscomponents)→终端服务(terminal services)”,再双击右侧的“限制连接数量(limit number ofconnections)”,再双击打开配置窗口(limit number of connectionsproperties),选择enabled 将其TS maximum connections allowed