繁体   English   中英

ASP.NET CORE:生产中的数据库连接问题(SQLite)

[英]ASP.NET CORE: Database Connection Issue (SQLite) in Production

操作系统:Linux,CentOS代理:Apache Asp.NET Core 1.1

问题:当我决定将其部署在真实服务器上时,我花了一定的时间。

因此,一切在我的本地计算机上都可以正常工作。 我没问题

但是,当我发布并将其上传到服务器时,它并没有达到我的预期。 我的意思是专门针对数据库(SQLite)。 该应用程序按预期方式从db读取数据 ,但是只要我的代码中有_db.SaveChangesAsync()等待,该应用程序就会崩溃。

我在互联网上进行了搜索,没有任何帮助。

到目前为止,我有3种不同的异常:

  1. SQLite错误8:“尝试编写只读数据库”。

  2. 我将数据库文件的权限以及它自己的文件夹更改为777,无济于事。

得到了:SQLite错误14:“无法打开数据库文件”。

  1. 当我尝试将其添加到“配置”时:

    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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM