我使用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>
我敢肯定,這是愚蠢的事,我只是部分別甚至不知道從哪裏開始,因爲錯誤信息沒有意義。
從運行網絡服務器的主機,你可以使用mysql命令行客戶端連接到數據庫? ('mysql -uusername -p -hmydomain.com dbname') – SingleNegationElimination
另一件事要檢查。問題是否因'setenforce 0'而消失? – SingleNegationElimination
嗨@TokenMacGuy,感謝評論。 mysql服務器可以很好地直接連接(就像我說的,應用程序在調試服務器上運行時沒有問題)。我也沒有selinux運行。 –