如何在Visual Studio 2017中单独使用Kestrel而非IIS Express
仅依赖Kestrel运行ASP.NET Core项目:可行!附操作方法
先明确可行性
当然可以只靠Kestrel跑你的ASP.NET Core项目——它本身就是ASP.NET Core的核心内置Web服务器,设计之初就支持单独运行。反过来讲,IIS、Nginx这类工具其实没法直接运行ASP.NET Core应用,必须依赖Kestrel或者自定义服务器实现,因为ASP.NET Core是在独立进程里运行的,要靠这类服务器来处理HTTP请求。
在Visual Studio 2017里切换到Kestrel启动
默认VS2017会用IIS Express启动项目,改起来很简单:
- 看工具栏上的启动配置下拉框(就是显示"IIS Express"或者你项目名的那个地方)
- 直接选中你的项目名称(别选IIS Express)
- 点启动按钮就行,这时你会看到控制台窗口弹出,Kestrel会默认监听
http://localhost:5000和https://localhost:5001(具体端口可以在项目的launchSettings.json里调整)
不用IDE?命令行直接跑Kestrel
如果你习惯用命令行,也可以跳过Visual Studio:
- 打开终端,导航到你的项目根目录
- 执行命令:
dotnet run- 这个命令会自动编译项目,然后启动Kestrel。要是想改监听端口,直接加参数就行:
dotnet run --urls=http://localhost:8080
- 这个命令会自动编译项目,然后启动Kestrel。要是想改监听端口,直接加参数就行:
小提醒:如果是生产环境直接用Kestrel暴露到公网,记得配置好HTTPS证书、请求限流这些安全设置;要是需要负载均衡、静态文件缓存这类特性,再搭配IIS/Nginx当反向代理就好。
内容的提问来源于stack exchange,提问作者Hany Habib
相关产品推荐
相关产品推荐

