![](/img/trans.png)
[英]ASP.Net Core Web Api - Use production and test database connection strings
[英]ASP.NET CORE: Database Connection Issue (SQLite) in Production
操作系统:Linux,CentOS代理:Apache Asp.NET Core 1.1
问题:当我决定将其部署在真实服务器上时,我花了一定的时间。
因此,一切在我的本地计算机上都可以正常工作。 我没问题
但是,当我发布并将其上传到服务器时,它并没有达到我的预期。 我的意思是专门针对数据库(SQLite)。 该应用程序按预期方式从db读取数据 ,但是只要我的代码中有_db.SaveChangesAsync()等待,该应用程序就会崩溃。
我在互联网上进行了搜索,没有任何帮助。
到目前为止,我有3种不同的异常:
SQLite错误8:“尝试编写只读数据库”。
我将数据库文件的权限以及它自己的文件夹更改为777,无济于事。
得到了:SQLite错误14:“无法打开数据库文件”。
当我尝试将其添加到“配置”时:
app.UseForwardedHeaders(new ForwardedHeadersOptions {ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto});
得到了这种豁免:警告:Microsoft.AspNetCore.HttpOverrides.ForwardedHeadersMiddleware [1] X-Forwarded-For和X-Forwarded-Proto之间的参数计数不匹配。
连接字符串为:
“ DefaultConnection”:“数据源= GlobalEvent.db”
问题出在反向代理设置错误。 我找不到适用于Apache的正确解决方案,因此将其更改为Nginx。 老实说,我实际上更喜欢它。 现在一切正常。 另外,我为子域创建了Nginx服务器块。 上面的其他所有内容仍然适用。
这是我的ASP.NET Core应用程序的conf文件:
server {
listen 80;
root /var/www/subdomain.domain.com/html;
server_name subdomain.domain.com www.subdomain.domain.com;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.