在项目安装部署的时候,需要开一个ftp端口用来让前端设备上传视频文件,及开一个8081的http端口让网页浏览器播放视频,虽然配置没有几步,但还是希望能够简化安装过程,准备写一个bat文件然后一键完成部署。
windows server 2008 r2
开启iis信息服务
servermanagercmd -i web-server
查询服务是否开启
servermanagercmd -query
上面这个命令还会返回各个服务的服务名,可选择添加。
加粗文字如我需要支持php的CGI模块,上传文件的Ftp模块
servermanagercmd -i Web-CGIservermanagercmd -i Web-Ftp-Server
windows7的添加语句有些不一样
开启iis信息服务
start /wait dism /online /enable-feature /featurename:IIS-WebServerRole
添加CGI
start /wait dism /online /enable-feature /featurename:IIS-CGI
开启ftp
start /wait dism /online /enable-feature /featurename:IIS-FTPServerstart /wait dism /online /enable-feature /featurename:IIS-FTPSvcstart /wait dism /online /enable-feature /featurename:IIS-FTPExtensibility
iis添加成功之后,会创建一个默认的80网站,因为80端口被其他占用,所以先删掉这个默认的网站,用到appcmd.exe,网上有很多关于这个的介绍。
c:WindowsSystem32inetsrvappcmd delete Site "Default Web Site"
添加8081端口,name可自定义,如已存在则添加失败,id同理,如不输入id,则默认从1开始增加,http/* 后面配置端口号,这里是8081端口,/physicalPath:后面跟着物理路径
c:WindowsSystem32inetsrvappcmd add site /name:"8081" /id:4 /bindings:http/*:8081: /physicalPath:"E:DateMemory"
开启8081端口的目录浏览,config后面跟网站名称,就是上面配置的name,如不填则对全局配置(哈哈不知道没有效果,没有尝试)
c:WindowsSystem32inetsrvappcmd set config "8081" /section:directoryBrowse /enabled:true
添加php-CGI模块程序
这里可能会遇到 权限问题,所以先执行 解锁操作
c:Windowssystem32inetsrvappcmd unlock config -section:system.webServer/handlers
添加模块,第一行语句只要 fullpath后面改成php-cgi.exe的绝对路径就行了
第2行有几个参数
path填*.php 因为要对所有的php后缀的文件生效,
verb是请求方式,get head post,
modules是FastCgiModule,默认安装没有这个模块的,所以在上面执行了servermanagercmd -i Web-CGI,这个模块被安装上去,
scriptProcessor填php-cgi.exe的绝对路径
c:WindowsSystem32inetsrvappcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='C:wampinphpphp5.5.12php-cgi.exe']" /commit:apphostc:WindowsSystem32inetsrvappcmd.exe set config -section:system.webServer/handlers /+"[name='PHP-FastCGI',path='*.php',verb='GET,HEAD,POST',modules='FastCgiModule',scriptProcessor='C:wampinphpphp5.5.12php-cgi.exe',resourceType='Either']"
iis默认不支持MP4的mime类型,如果需要的话执行下面的命令
c:WindowsSystem32inetsrvappcmd.exe set config /section:staticContent /+[fileExtension='.mp4',mimeType='video/quicktime']
下面是配置ftp端口
配置21端口,参数同上面的http参数,但注意的是http和ftp共同name和id,所以name和id都不能于http相同
c:WindowsSystem32inetsrvappcmd add site /name:"21" /id:5 /bindings:ftp://*:21 /physicalpath:"E:DateMemory"
关闭ssl
c:WindowsSystem32inetsrvappcmd set site "21" -ftpServer.security.ssl.controlChannelPolicy:SslAllow -ftpServer.security.ssl.dataChannelPolicy:SslAllow -ftpServer.security.authentication.basicAuthentication.enabled:true
**设置用户的读写
users 为系统用户名
permissions 为读取和写入的权限**
c:WindowsSystem32inetsrvappcmd set config "21" -section:system.ftpServer/security/authorization /+"[accessType='Allow',users='admin',permissions='Read, Write']" /commit:apphost