首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不稳定的mod_wsgi不能连接到MySQL服务器

不稳定的mod_wsgi不能连接到MySQL服务器
EN

Stack Overflow用户
提问于 2014-06-04 07:12:19
回答 1查看 986关注 0票数 1

我试图使用mod_wsgi在apache上运行一个不稳定的烧瓶应用程序。这在开发服务器上运行得很好。我已经阅读了我所能找到的一切,而我所看到的答案似乎都不适合我。该应用程序正确处理非数据库请求,但当我试图访问需要数据库访问的url时,会出现以下错误:

OperationalError: (OperationalError) (2003, "Can't connect to MySQL server on 'localhost' ([Errno 13] Permission denied)") None None

我已经削减到基本上烧瓶-不安定的快速启动与我的config和我的烧瓶-sqlalchemy模型导入(from flask import models)。下面是我的python代码:

代码语言:javascript
复制
import flask
import flask.ext.sqlalchemy
import flask.ext.restless
import sys

sys.path.insert(0, '/proper/path/to/application')

application = flask.Flask(__name__, static_url_path = "")
application.debug=True
application.config.from_object('config')

db = flask.ext.sqlalchemy.SQLAlchemy(application)

from app import models

# Create the Flask-Restless API manager.
manager = flask.ext.restless.APIManager(application, flask_sqlalchemy_db=db)

# Create API endpoints, which will be available at /api/<tablename> by
# default. Allowed HTTP methods can be specified as well.
manager.create_api(models.Asset, methods=['GET'])

# start the flask loop
if __name__ == '__main__':
        application.run()

我假设mod_wsgi在查找包含数据库访问详细信息的config文件时没有问题,因为我在读取配置时没有收到错误,在from app import models上也没有错误。

到目前为止,我的研究已经让我相信,这与存在于错误范围或上下文中的sql-炼金术db连接有关,并且可能由于烧瓶- that管理器而变得复杂。我似乎不能把我的头绕在这上面。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-04 10:46:21

Apache/mod_wsgi下的代码将作为一个特殊的Apache用户运行。该用户可能没有连接到数据库所需的特权。

尽管它写着“localhost”,而且您认为这可能意味着正常的套接字连接,但一些数据库客户端将看到“localhost”,并将自动尝试并将UNIX套接字用于数据库。它可能无法访问该UNIX套接字连接。

或者,在通过UNIX套接字连接时,它试图验证Apache用户是否拥有访问权限,但如果数据库尚未设置以允许Apache用户访问,则可能会失败。

考虑使用mod_wsgi的守护进程模式,并将守护进程模式配置为与Apache用户不同的运行模式,并且您所知道的用户可以访问数据库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24031230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档