문제

나는 실행하려고 플라스크-불안 앱에서 아파치 사용하여 mod_wsgi.이와 함께 개발 서버입니다.I have read 모든 것을 찾을 수 있습니다 아무도 답변을 보았을 것입니다.앱이 처리 비 데이터베이스가 요청을 올바르게 하지만 다음과 같은 오류가 나에 액세스하려고 하는 url 필요로 하는 데이터베이스에 액세스:

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

나는 아래로 깍는 기본적으로 플라스크-불안에 빠른 시작으로 나 config 내 flask-의 정밀한 웹 애플리케이션을 빨리 빌 모델을 가져올(from flask import models).여기에 내 python 코드:

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 연결에서 기존의 잘못된 범위 또는 맥락과 가능성이 복잡하여 플라스크-불안 API manager.나는 수가 없어 내 이습니다.

도움이 되었습니까?

해결책

아래의 코드 아파치는/mod_wsgi 것으로 실행한 특별한 아파치 사용자.는 사용자 가능성이 없는데 필요한 권한을 데이터베이스에 연결합니다.

지만 그것은 말'localhost'그리고 당신이 생각하는 것을 의미 할 수있는 일반 소켓 연결,일부 데이터베이스는 클라이언트 볼 것이다'localhost'고 자동으로 대신 사용하는 유닉스 소켓에 대한 데이터베이스입니다.그것은에 액세스할 수 없는 유닉스 소켓 연결합니다.

또한,을 통해 갈 때 유닉스 소켓 연결하려는지 확인하려면 아파치 사용자보다 액세스하지만,경우에는 데이터베이스 설치되지 않았 수 있도록 아파치 사용자가 액세스할 수 있습한 후 실패합니다.

사용을 고려하는 데몬드 mod_wsgi 와 구성 데몬 실행할 모드를 다른 사용자로 아파치 사용자와 당신이 알고 있는 하나 데이터베이스에 액세스할 수 있는.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top