0
我想弄清楚這個bug一個星期,但我仍然無法找到錯誤。ASP .NET核心 - Linux的nginx ASPNETCORE_ENVIROMENT錯誤
系統我目前運行的是Linux操作系統Ubuntu 16.04
我在launchSettings.json
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:51754/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production"
}
},
"FilmerCore": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production"
},
"applicationUrl": "http://localhost:51755"
}
}
}
設置一切生產,這是我的web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\FilmerCore.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</configuration>
<!--ProjectGuid: 5be3ea4c-66c2-42b0-8583-29c6bf415674-->
ASLO我我使用nginx作爲反向代理。主要的配置是這樣的
[Unit]
Description=Filmer - .NET movie platform
[Service]
WorkingDirectory=/var/aspnetcore/filmer
ExecStart=/usr/bin/dotnet /var/aspnetcore/filmer/FilmerCore.dll
Restart=always
RestartSec=10 # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=filmer
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Development
[Install]
WantedBy=multi-user.target
感謝您的回覆。我忘了添加這個,這是在後臺運行。我只使用Nginx作爲反向代理服務器。我在/etc/systemd/system/kestrel-filmer.service設置了'Environment = ASPNETCORE_ENVIRONMENT = Production' –
@DominikVit你需要爲ASP.NET Core進程設置'ASPNETCORE_ENVIRONMENT',而不是Nginx進程。正如@Tseng所說的,你需要在全局進行設置,或者作爲選項,你可以將環境名稱作爲參數傳遞給你的.net核心應用程序。有關詳細信息,請參閱下面的SO問題:[在命令行中運行.net核心應用程序開發](http://stackoverflow.com/q/43412065/2833802) – Set
感謝您的回覆。我嘗試過但沒有任何成功。它仍然是一樣的。 –