渣渣小项目,一直用的iis,之前是每年一次免费证书,现在变成了每3个月一次,有点厌烦了,于是决定迁移到caddy
老的Framework 4.7项目运行还是要依赖iis,但是不想安装完整版的iis,可以安装简版的IIS Express
1.安装IIS Express
IIS Express下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=48264
安装以后直接运行命令:
"C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\wwwroot\yoursite /port:8080
或者把IIS Express添加到系统变量中(path中增加:C:\Program Files (x86)\IIS Express),然后运行
iisexpress /path:C:\wwwroot\yoursite /port:8080
以上方式适合简单的站点,如果需要更加灵活的配置IIS Express的站点,比如多个域名指向一个站点等,需要修改IIS Express的配置文件
IIS Express配置文件有两个,分别位于:
C:\Program Files (x86)\IIS Express\AppServer\applicationhost.config 默认配置文件,不建议修改
C:\Users\Administrator\Documents\IISExpress\config\applicationhost.config 用户配置文件,修改这个
在<sites>节点中增加
<site name="MyWebApp" id="2" serverAutoStart="true">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\wwwroot\webapp路径" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:5056:manage.yuming1.net" />
<binding protocol="http" bindingInformation="*:5056:manage.yuming2.com" />
</bindings>
</site>
其中 applicationPool="Clr4IntegratedAppPool" 是指定应用池,类似于iis中指定应用池。
然后通过命令启动站点:
iisexpress.exe /site:MyWebApp //多个站点就多次执行此命令
各个应用程序池的含义
-
Clr4IntegratedAppPool
-
.NET 版本:v4.0
-
管道模式:Integrated(集成模式)
-
作用:适用于 ASP.NET 4.0 及以上 的应用,使用 IIS 集成模式处理请求。
-
-
Clr4ClassicAppPool
-
.NET 版本:v4.0
-
管道模式:Classic(经典模式)
-
作用:适用于 ASP.NET 4.0 及以上 的应用,但使用传统的 IIS 处理方式(不集成到 IIS 管道)。
-
-
Clr2IntegratedAppPool
-
.NET 版本:v2.0
-
管道模式:Integrated(集成模式)
-
作用:适用于 ASP.NET 2.0/3.5 的应用,使用 IIS 集成模式处理请求。
-
-
Clr2ClassicAppPool
-
.NET 版本:v2.0
-
管道模式:Classic(经典模式)
-
作用:适用于 ASP.NET 2.0/3.5 的应用,但使用传统的 IIS 处理方式。
-
-
UnmanagedClassicAppPool
-
.NET 版本:无(未托管)
-
管道模式:Classic(经典模式)
-
作用:用于 非 .NET 应用(如 PHP、静态 HTML 站点),不使用 .NET 运行时。
-
-
IISExpressAppPool
-
.NET 版本:v4.0
-
管道模式:Integrated(集成模式)
-
作用:默认的 IIS Express 应用程序池,适用于 ASP.NET 4.0 及以上 的应用。
-
2.安装Framework 4.7运行环境
Framework 4.7下载地址
https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/thank-you/net47-offline-installer
3.在caddy中配置反向代理
xxx.yuming.com {
reverse_proxy http://localhost:8080 {
header_up X-Forwarded-For {remote_host} #可选,服务端获取真实ip
header_up X-Forwarded-Proto {scheme} #可选,服务端获取真实协议
}
encode zstd gzip #可选,启用zstd和gzip压缩
}
4.配置caddy开机启动
可以使用计划任务
或注册表
注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
创建新的字符串值:
名称:Caddy
值:"C:\Program Files\Caddy\caddy.exe" run
或创建服务
cmd中运行
sc.exe create Caddy start= auto binPath= "C:\Program Files\Caddy\caddy.exe run"
浙公网安备 33010602011771号