【问题标题】:ASP.NET CORE: Database Connection Issue (SQLite) in ProductionASP.NET CORE:生产中的数据库连接问题 (SQLite)
【发布时间】:2018-01-03 20:34:34
【问题描述】:

操作系统:Linux、CentOS 代理:阿帕奇 Asp.NET Core 1.1

问题:当我决定在真实服务器上部署我的应用程序时,我遇到了某个时刻。

所以一切正常,在我的本地机器上运行良好。我没有问题。

但是当我发布它并上传到服务器时,它并没有按我预期的方式工作。我的意思是数据库(SQLite)。 应用程序按预期从数据库中读取数据,但每当我的代码中有 await _db.SaveChangesAsync() 时,应用程序就会崩溃。

我在整个互联网上进行了搜索,但没有任何对我有帮助的东西。

到目前为止,我有 3 个不同的例外:

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

  2. 我把db文件的权限改成了777以及它自己的文件夹,没用。

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

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

    app.UseForwardedHeaders(新的 ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto });

获得此豁免: 警告:Microsoft.AspNetCore.HttpOverrides.ForwardedHeadersMiddleware[1] X-Forwarded-For 和 X-Forwarded-Proto 的参数计数不匹配。

连接字符串是:

“默认连接”:“数据源=GlobalEvent.db”

【问题讨论】:

    标签: c# asp.net asp.net-mvc database sqlite


    【解决方案1】:

    问题出在错误的反向代理设置上。我找不到适用于 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;
            }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      相关资源
      最近更新 更多