C#中如何调用服务器上的IIS上某个指定的站点重启

C#中如何调用服务器上的IIS上某个指定的站点重启,第1张

直接给你一个现成代码吧,实测套用后可行,直接将站点链接输进去就行:

using Jinher.AMP.BTP.Deploy

using Microsoft.Web.Administration

using Redis.Helper

using System

using System.Collections.Generic

using System.Configuration

using System.IO

using System.Linq

using System.Text

using System.Threading

using System.Threading.Tasks

namespace Redis

{

public class Program

{

static readonly string AppPoolName = ConfigurationManager.AppSettings["ApplicationPoolName"].ToString()

static readonly string WebSiteName = ConfigurationManager.AppSettings["WebSiteName"].ToString()

static readonly int SleepTime = int.Parse(ConfigurationManager.AppSettings["SleepTime"].ToString())

static ServerManager sm

static void Main(string[] args)

{

Console.WriteLine($"检测程序启动,【{WebSiteName}】当网站或其应用池停下后,会自动启动。")

sm = new ServerManager()

new Thread(RecoveryWebSite).Start()

}

static void RecoveryWebSite()

{

while (true)

{

try

{

var pool = sm.ApplicationPools[AppPoolName]

if (pool != null &&pool.State == ObjectState.Stopped)

{

Console.WriteLine("检测到应用池" + AppPoolName + "停止服务")

Console.WriteLine("正在启动应用池" + AppPoolName)

if (pool.Start() == ObjectState.Started)

{

Console.WriteLine("成功启动应用池" + AppPoolName)

}

else

{

Console.WriteLine("启动应用池" + AppPoolName + "失败. " + SleepTime / 60 + "秒后重试启动")

}

}

var site = sm.Sites[WebSiteName]

if (site != null &&site.State == ObjectState.Stopped)

{

Console.WriteLine("检测到网站" + WebSiteName + "停止服务")

Console.WriteLine("正在启动网站" + WebSiteName)

if (site.Start() == ObjectState.Started)

{

Console.WriteLine("成功启动网站" + WebSiteName)

}

else

{

Console.WriteLine("启动网站" + WebSiteName + "失败. " + SleepTime / 60 + "秒后重试启动")

}

}

}

catch (Exception ex)

{

Console.WriteLine(ex.Message.ToString())

}

GC.Collect()

Thread.Sleep(SleepTime)

}

}

}

}

安装PHP(环境变量篇)

设置环境变量后,无须拷文件到系统盘

1.把php-5.2.0-Win32.zip解压到E:\PHP_SERVER\PHP目录

2.把E:\PHP_SERVER\PHP目录下的PHP.INI-DIST文件改名为PHP.INI

作如下修改:

查找extension_dir = "./",该处是指定PHP动态链接库的路径,

改为extension_dir = "E:/PHP_SERVER/PHP/EXT",注意是“/”。

查找extension=php_mbstring.dll,把前面的分号去掉。

这个不去的话用phpMyAdmin会出现红色提示。

查找extension=php_gd2.dll,去掉前面的分号,支持GD库用的。

查找extension=php_sockets.dll,去掉前面的分号。

查找extension=php_mysql.dll,去掉前面的分号,支持MYSQL数据库用的。

3.现在我们通过设置环境变量把PHP.INI文件位置定在E:\PHP_SERVER\PHP目录下,

打开系统属性-环境变量-系统环境变量-新建,变量名:PHPRC,变量值:E:\PHP_SERVER\PHP,

更改系统环境变量,编辑path变量, 在最后加上:E:\PHP_SERVER\PHP,注意是“\”。

(重启服务器..)

配置IIS支持PHP

1.在WEB服务扩展中 “添加一个新的WEB服务器扩展” .php E:\PHP_SERVER\PHP\php5isapi.dll 允许

2.网站属性-ISAPI筛选器 - 添加 php E:\PHP_SERVER\PHP\php5isapi.dll

3.网站属性-主目录-配置-添加映射-可执行E:\PHP_SERVER\PHP\php5isapi.dll .php

4.网站属性-文档-添加index.php

5、重启IIS先点击开始菜单选择“运行”依次输入CMD回车

net stop w3svc 回车

net stop iisadmin回车

net start w3svc 回车

如果能远程登录的话,进入控制面板,“服务”,找到 World Wide Web Publishing Service 和 IIS Admin Service这两个服务,重启一次就行了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/319048.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存