nav*_*100 9 linux centos7 .net-core asp.net-core asp.net-core-2.1
我按照此 URL 中的步骤将 .NET core 2.1 Web 应用程序代码发布到 Linux Centos 7 服务器。
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.2
我试图运行“sudo dotnet application_name.dll”。我收到以下错误消息。我错过了什么吗?我在 Windows 机器上使用 Visual Studio 2017 发布代码并将代码复制到 Linux 服务器。
crit: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to start Kestrel.
System.IO.IOException: Failed to bind to address http://127.0.0.1:5000: address already in use. ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use ---> System.Net.Sockets.SocketException: Address already in use
Run Code Online (Sandbox Code Playgroud)
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
Run Code Online (Sandbox Code Playgroud)
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
}
Run Code Online (Sandbox Code Playgroud)
启动设置.json:
"applicationUrl": "https://localhost:5001;http://localhost:5000"
Run Code Online (Sandbox Code Playgroud)
小智 38
在管理员模式下转到 Powershell 并编写以下命令:
netsh interface ipv4 show excludedportrange protocol=tcp
Run Code Online (Sandbox Code Playgroud)
检查端口排除范围,您的端口是否属于此列表;如果是,则使用以下命令:
net stop winnat
net start winnat
Run Code Online (Sandbox Code Playgroud)
这个问题应该得到解决。
Pau*_*der 11
就我而言,我能够通过更改 Kestrel 使用的端口来解决此问题。这里有两个对我有用的选项(选择一个):
将“applicationUrl”设置添加到 launchSettings.json 文件(在 VS2019 的 Properties 文件夹下)。在下面的示例中使用“ https://localhost:5201 ”:
"profiles": {
"IIS Express": {
...
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"Host": {
...
}
},
"Your.App.Namespace.Api": {
...
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:5201;http://localhost:5200"
}
}
Run Code Online (Sandbox Code Playgroud)在 Program.Main() 中向 WebHostBuilder 添加“UseUrls”流畅的方法调用。即“ http://localhost:5200/ ”在下面的例子中:
using (var host = new WebHostBuilder()
.UseKestrel(o => o.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(30))
...
.UseStartup<Startup>()
.UseUrls("http://localhost:5200/")
Run Code Online (Sandbox Code Playgroud)Sal*_*oni 10
发生这种情况是因为端口上已经有一个任务正在运行。
这对我的 Windows 10 有效
以管理员身份打开 CMD 提示符并运行:
net stop hns
net start hns
Run Code Online (Sandbox Code Playgroud)
通过端口终止进程,重新启动我的 Visual Studio,但没有解决我的问题。
| 归档时间: |
|
| 查看次数: |
16514 次 |
| 最近记录: |