iis添加网站外网无法访问_2秒钟实现在IIS上面新建站点并发布Web应用

news/2024/5/15 20:01:52/文章来源:https://blog.csdn.net/weixin_39968640/article/details/112089454

>> 点击上方 懒人MES 关注我们

836ea650310e3602e1512c962525bffe.gif之前有写过一篇"教你两分钟使用ASP.NET CORE创建并发布一个Web应用“,今天分享一篇Powershell实例“只需2秒钟实现在IIS上面新建站点并发布Web应用”。

在过去的一年工作中接触到很多服务器上应用迁移的任务,其中很多应用都是通过IIS发布的Web站点,为了方便迁移于是用Powershell搞了一个脚本,可以方便的把一个Web应用从一个服务器迁移到另一个服务器。

开始前请确保目标服务器或者自己测试的电脑上已经启用了IIS

  • 然后执行Powershell脚本,脚本中的操作逻辑包括:

    • 在新服务器上新建应用池和站点

    • 在新服务器防火墙创建对应端口的入站规则(不添加的话服务器外的客户端无法访问该端口)

    • 将原有的Web应用源文件拷贝到新服务器

脚本如下:

Import-Module IISAdministration# 指定应用池名,站点名,应用源文件存放路径$iisAppPoolName = "MyTestWebApplication"$iisAppName = "MyTestWebApplication"$iisAppPath = "C:\inetpub\wwwroot\$iisAppName"$manager = Get-IISServerManagerWrite-Host "检查站点名'$iisAppName'是否已经存在"# 如果不存在,我们可以进行添加该站点if ($manager.ApplicationPools[$iisAppPoolName] -eq $null){  Write-Host "如果需要添加的路径'$iisAppPath'不存在,那么新建该路径"  if (!(Test-Path $iisAppPath -pathType container))  {    # 添加该路径文件夹    mkdir $iisAppPath    Write-Host "新建路径 '$iisAppPath'"  }  # 应用池配置定义  $pool = $manager.ApplicationPools.Add($iisAppPoolName)  $pool.ManagedPipelineMode = "Integrated"  $pool.ManagedRuntimeVersion = "v4.0"  $pool.Enable32BitAppOnWin64 = $false  $pool.AutoStart = $true  $pool.StartMode = "OnDemand"  $pool.ProcessModel.IdentityType = "ApplicationPoolIdentity"  $manager.CommitChanges()  echo "新建站点..."  $site = $manager.Sites.Add($iisAppName, "http", "*:51000:", $iisAppPath)  $site.Applications["/"].ApplicationPoolName = $iisAppPoolName  $manager.CommitChanges()  echo "在新建的路径文件'$iisAppPath'的访问控制中添加'$iisAppPoolName'对应安全标识符,以此标识来保护资源"  # 获取安全标识符,并添加到新建文件的访问控制列表中  $appPoolSid = $pool.RawAttributes["applicationPoolSid"]  $objAppPoolSid = New-Object System.Security.Principal.SecurityIdentifier ($appPoolSid)  $poolUser = $objAppPoolSid.Translate([System.Security.Principal.NTAccount])  $rule = New-Object System.Security.AccessControl.FileSystemAccessRule -ArgumentList @($poolUser.Value, "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")  $aclObj = Get-Acl $iisAppPath  $aclObj.AddAccessRule($rule)  Set-Acl -Path $iisAppPath -AclObject $aclObj | Out-Null  Write-Host "新站点'$iisAppName'添加完成"}else{  Write-Host "新站点'$iisAppName'已存在"}# -----------------------------------------------------------------------------# 添加防火墙的入站规则,如果不添加无法在外部客户端访问新定义的51000端口# 可以使用xxx-xxx的方式开放多个端口,如下$Ports='51000-51005'$RuleName='MyTestApplication'$RuleDescription='port for MyTestApplication'Write-Host "`n`n检查入站规则'$RuleName'是否已存在"$fwr = Get-NetFirewallRule -DisplayName $RuleName -ErrorAction SilentlyContinueif ($fwr){    Write-Host "$RuleName 已存在"}else{  Write-Host "正在新建入站规则 '$RuleName' 并开放端口 $Ports"  New-NetFirewallRule  `    -DisplayName $RuleName `    -Description $RuleDescription `    -Direction Inbound `    -Profile @('Domain', 'Private') `    -Protocol TCP `    -LocalPort $Ports   Write-Host "入站规则添加完成"}if (Test-Path $iisAppPath -pathType container)  {    # 将旧服务器中Web应用的源文件全部复制到$iisAppPath路径中    Copy-Item \\SOURCESERVER\inetpub\wwwroot\SourceWebAPP\* $iisAppPath  }

执行完我们可以看到IIS中新应用池和站点已经创建,防火墙中入站规则已经创建,Web应用源文件已经复制过来

102929502f0a42e19b31951694417ae1.png

cea95063163f7a8877df8cfe90875ed6.png

17e729d2a93ef704db552aa3d7ace41d.png

  • 迁移已经完成,此时我们已经可以在IIS所在的服务器或电脑上通过http://localhost:51000/访问,或者是在客户端通过http://HOSTNAME:51000/访问

8880e6b6d9cca6aada672953db598448.png

180498e68dbd2c95dba4a33a6a9e0775.png

每次使用基本2秒钟搞定,其实时间大部分花费在复制Web应用的源文件上

737a25af70e851739ee809028fb51eb9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_717345.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 替换网址_mysql语句:网站批量http替换https技巧

网站开启https非常简单,先申请一个ssl证书;DigiCert 免费版 SSL证书可以通过阿里云、DNSPOD进行申请。通常30分钟左右即可申请成功,免费时间一年,第二年可以续签。将申请成功的证书安装在服务器端,成功开启SSL后&#…

php gb2312网站源码,闻名 PHP 企业网站系统 weenCompany v5.3.0 简体中文 GB2312

weenCompany闻名企业网站系统(免费开源)是一个功能强大, 使用简单的中英文企业智能建站系统, 您只需要一些基本的计算机知识就可以利用此系统完成中小型企业网站的建设; 是低成本企业网站架设方案之首选CMS系统, 也适合建设个人网站。weenCompany闻名企业网站系统功能&#xff…

前端设计类网站汇总

设计前端类网站汇总 一、素材类 1、图片 其实国内对图片版权保护这块的意识不是很够,在免费的素材库和收费素材库都能找到同一张图片,但作者署名却都不一样。所以小编现在基本不用国内这些图库网,跟大家推荐几个免费又没有版权纠纷的图库网站…

阿里云ecs怎么搭建网站

一、首先在阿里云开通一台服务器 二、开通服务器之前最好确定你的服务器用linux还是windows,这里小编推荐大家用linux的服务器,因为linux服务器稳定而且性能也比windows好! 三、安装网站环境 小编推荐宝塔面板,比较方便快捷&#…

图片优化_怎么优化图片?网站图片优化方法有哪些?

在搜索引擎算法不断的进步,算法不断的升级变化的情况下,很多站长纷纷表示无路可走,其实有时候换一种角度想一想,之所以搜索引擎实施一定的打压,那也正是说明了,做SEO还有别的路可走。为何有人表示说无路可走…

file 选择的图片作为背景图片_我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!...

虽然不能出门,但是我们可以利用python来带领大家出去旅游,今天小编就带领大家利用python和Flask实现旅游的小目标,让大家足不出户,就能晒出自己的旅游照。01功能简介我们今天实现的小功能就是,利用python来提取我们的人…

debian8 php7,Debian8环境安装Apache/PHP7/MariaDB网站环境

一、添加PHP7数据源以及更新系统安装好的Debian后还不能使用sudo,需要使用root用户登陆后安装sudo命令apt-get install sudo添加PHP7数据源以及更新系统echo"deb http://repos.zend.com/zend-server/early-access/php7/repos ubuntu/" >> /etc/apt/sources.lis…

php网站iis7.5 session,IIS 7.5 asp Session超时时间设置方法

IIS 7.5 asp Session超时时间设置方法有时候在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了超时时间那么我们如何设置超时时间呢?1.IIS图形界面设置IIS6 在IIS里面右键点…

中国程序员开发的神奇网站:变量命名神器,这个有点意思!

有一种痛,不是程序员可能不懂,但如果是程序员一定懂,那就是给变量或函数命名。回想一下起名字这条路,刚开始学某个编程语言的时候,26 个字母还能解决问题,26 个不够还能用字母与数字的组合?。但是&#xf…

java相关技术网站,看完这一篇你就懂了

灵魂发问:我们为什么要学习SpringBoot??? 官方对 Spring Boot 的定位:Build Anything, Build 任何东西。Spring Boot 旨在尽可能快地启动和运行,并且只需最少的 Spring 前期配置。 同时我们也来…

FBI 网站都被黑了?

来源:快科技news.mydrivers.com/1/622/622871.htm4月13日,据外媒报道,一个黑客组织通过黑进数个联邦调查局(FBI)的附属网站,获取了成千上万条联邦特工和执法人员的个人信息,并计划出售。据悉&am…

你社交网站上的照片也许已经被用来训练人工智能了

毫无疑问,这张家庭照片是非常可爱的:照片中的爸爸留着短须,戴着无框眼镜,棕色头发的妈妈咧着嘴笑着。他们正和两个蹒跚学步的女儿一起嬉戏,同时品尝着冰淇淋。但是,这张照片于2013年被上传到照片分享网站Flickr上时&am…

@前端工程师,节约网站流量用这一招就够了!

作者 | 桃翁随着 Web 的发展,网站资源的流量也变得越来越大。据统计,60%的网站流量均来自网站图片,可见对图片合理优化可以大幅影响网站流量,减小带宽消耗和服务器压力。有时候你花大力气去配置 WebPack 使打包体积减少&#xff0…

有什么学习java的网站

前言 大数据、算法项目在任何大厂无论是面试还是工作运用都是非常广泛的,我们精选了50个百度、腾讯、阿里等大厂的大数据、算法落地经验甩给大家,千万不要做收藏党哦,空闲时间记得随时看看! 如果你没有大厂项目经验,…

树展示 移动端_网站SEO优化中如何做好移动端的网站适配工作

随着移动互联网的发展,我们越来越多的网站都开始积极面向移动端设备开发。如果现在还有那家网站只能方便电脑端展现,对移动端展现不够友好的话,那么都是不利于SEO搜索引擎优化与用户的阅览体验的。而对于使用H5技术建设的网站来说&#xff0c…

tomcat vue 不用 前后端_Django rest framework加Vue打造前后端分离的网站

我曾记录过用django rest framework和vue的文章,如下链接。还在持续更新中。后端是django rest framework,前端是vue.js,数据库用了mysql,部署会用上uwsgi加nginx。Django restframework加Vue打造前后端分离的网站(一)环境准备Dja…

形式 后台post_韩国网站 登录框POST注入到Getshell

声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产…

vue调用手机浏览器打开pdf_这个不到1M的手机浏览器,打开1个网站后,用起来更顺手了!...

你有没有遇到过这种情况?本来是打开手机浏览器搜索些什么,结果不小心被首页推送的资讯吸引,看了半小时新闻后,一点也想不起来自己为什么要点开这个App了!如果不想在这些资讯上浪费时间,那就趁早换一款浏览器…

服务器网站内容被阻止,关于安全狗提示“您请求的页面包含一些不合理的内容,已被网站管理员设置拦截”的解决方法...

服务器不装安全软件觉得怎么也有点不放心,可是装吧,却不知道装哪个好,于是还是搜索了下,选择了一个使用人多的软件,安全狗。这个狗狗,比较麻烦,我在博客也加个统计代码都能被阻拦,之…

php 门户网站,PHP的CMS系统整理

整理一些php的cms系统,比较实用,留着以后使用。AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳,提供简单的扩展定制途径,一个简单而且功能强大的模板系统,以及更…