私はUbuntu 16.04で動作するASP.NET Coreアプリケーションを持っています。ディレクトリに移動してdotnet run
を実行すると正常に動作します。私はまた指定されたon the .NET Core DocsのようにNginxリバースプロキシを設定することができます。しかし、dotnet publish
を実行して公開ディレクトリ(SlogWeb/bin/Debug/netcoreapp1.0/publish
)からdotnet SlogWeb.dll
を使用すると、サーバーはエラーなしで起動しますが、ログ情報が表示されず、Webサイトに移動すると500のエラーが発生します。.NET Core公開アプリでは500エラーしか表示されません
the full project on GitHubが表示されます。私はSlogWeb/bin/Debug/netcoreapp1.0/publish
に移動しdotnet SlogWeb.dll
を実行した場合、私は標準のスタートアップを得る
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, DbSeeder dbSeeder) {
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment()) {
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
if (env.IsProduction()) {
app.UseForwardedHeaders(new ForwardedHeadersOptions {
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
}
// ...
:
// dependencies and tools
"publishOptions": {
"include": [
"wwwroot",
"web.config",
"appsettings.Production.json"
]
},
"scripts": {
"prepublish": [ "npm install", "gulp build" ]
}
そして、私のStartup.csファイルのconfigureメソッド:重要なビットは、おそらく私のproject.jsonファイルですメッセージが表示された後、無音:
Hosting environment: Production
Content root path: /home/shaun/sites/Slog/src/SlogWeb/bin/Debug/netcoreapp1.0/publish
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
投稿する必要がある場合はお知らせください。
NginxまたはKestrelからエラー500が表示されますか? Nginxを使用せずにWebサイトを実行し、Kestrelから直接結果を受け取ったかどうかを確認してください。 Kestrelがログに何のメッセージも表示せずに500エラーを返すならば、それは非常に奇妙です(ロギングを無効にしない限り、ロギング設定の 'Startup'を確認してください)。 – Dmitry
@Dmitry公開された '.dll'を実行しようとすると、私が使っているロギングメソッドとKestrelから見たものを追加しました。 – Shaun
'http:// localhost:5000'(Kestrelのみ)または' http:// localhost:80'(Nginx + Kestrel)からエラー500を受け取りますか? – Dmitry