2012-05-31 40 views
1

我使用Sqlalchemy在Flask上運行一個Web應用程序。在調試服務器上,該應用運行良好。但是,當我嘗試使用ModWSGI(改變沒有我的代碼),Apache的運行它,我突然得到這個錯誤:SQLAlchemy w/ModWSGI和燒瓶中的「未知的MySQL服務器」

OperationalError: (OperationalError) (2005, "Unknown MySQL server host 'myremotehost.topleveldomain' (111)") None None

爲何如此神祕的這個是MySQL服務器是好的,它的運行,這應用程序只能在使用容器調試服務器運行時才能找到它。它還發現一個沒有問題的本地運行的MySQL服務器。

我什至不知道什麼代碼向你展示你們的幫助,但在這裏就是我把它叫做:

engine = create_engine(DATABASE, echo=False) 
db_session = scoped_session(sessionmaker(autocommit=False, 
             autoflush=False, 
             bind=engine)) 

這裏的網址是什麼樣子:

mysql://username:[email protected]:3306/dbname

...這裏是在httpd.conf的虛擬主機代碼:

<VirtualHost *:808> 
    ServerName localhostdomaingoeshere 
    WSGIScriptAlias//path/to/app.wsgi 

    Alias /static /path/to/static 

    LogLevel info 
    ErrorDocument 502 /error 

    <Directory /path/to/app> 
     Order deny,allow 
     Allow from all 
    </Directory> 
</VirtualHost> 

我敢肯定,這是愚蠢的事,我只是部分別甚至不知道從哪裏開始,因爲錯誤信息沒有意義。

+1

從運行網絡服務器的主機,你可以使用mysql命令行客戶端連接到數據庫? ('mysql -uusername -p -hmydomain.com dbname') – SingleNegationElimination

+0

另一件事要檢查。問題是否因'setenforce 0'而消失? – SingleNegationElimination

+0

嗨@TokenMacGuy,感謝評論。 mysql服務器可以很好地直接連接(就像我說的,應用程序在調試服務器上運行時沒有問題)。我也沒有selinux運行。 –

回答

-1

不是一個真正的解決方案,但我切換到gunicorn,這不是一個頭痛的方式。