可以使用我的数据库(exception:(1046,'无数据库选择'))可以连接mod_wsgi .conf文件。
问题是我在带有烧瓶的Python中创建了一个Web应用程序,并连接到A MySQL Server。 我试图在使用MOD WSGI的Apache2服务器上运行它。 Apache中的Web应用程序正在正常工作,在安装所有需要的所有软件包后,使用Python3.9创建了ENV .. 但是,当我尝试进行登录时,Apache错误日志显示了一个错误:
[MON 5月23日11:08:42.395088 2022] [WSGI:错误] [PID 3529] [远程127.0.0.1:50084]异常:(( 1046,“未选择数据库”)
当我在/etc/上更改用户时/sites-appable/app.conf文件
app.conf
<VirtualHost *:80>
ServerAdmin apipython@localhost
ServerName apipython.asix
ServerAlias www.apipython.asix
DocumentRoot /var/www/apipython
WSGIDaemonProcess apipython user=www-data threads=10
WSGIScriptAlias / /var/www/apipython/app.wsgi
<Directory /var/www/apipython>
WSGIProcessGroup apipython
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
当更改用户www-data时,用户试图连接数据库 我必须在mySQL服务器名称上创建一个用户www-data
我不知道我不知道如何在app.conf文件上指定数据库。 im显示我的错误日志和我的app.wsgi文件..
错误日志:
[Mon May 23 11:21:51.515747 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] [2022-05-23 11:21:51,515] ERROR in app: Exception on /login [POST]
[Mon May 23 11:21:51.515859 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] Traceback (most recent call last):
[Mon May 23 11:21:51.515889 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/var/www/apipython/models/ModelUser.py", line 47, in getAccount
[Mon May 23 11:21:51.515911 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] cursor.execute(sql)
[Mon May 23 11:21:51.515936 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/MySQLdb/cursors.py", line 206, in execute
[Mon May 23 11:21:51.515958 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] res = self._query(query)
[Mon May 23 11:21:51.515978 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/MySQLdb/cursors.py", line 319, in _query
[Mon May 23 11:21:51.516027 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] db.query(q)
[Mon May 23 11:21:51.516052 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/MySQLdb/connections.py", line 254, in query
[Mon May 23 11:21:51.516072 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] _mysql.connection.query(self, query)
[Mon May 23 11:21:51.516092 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] MySQLdb._exceptions.OperationalError: (1046, 'No database selected')
[Mon May 23 11:21:51.516112 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226]
[Mon May 23 11:21:51.516133 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] During handling of the above exception, another exception occurred:
[Mon May 23 11:21:51.516153 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226]
[Mon May 23 11:21:51.516173 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] Traceback (most recent call last):
[Mon May 23 11:21:51.516192 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/flask/app.py", line 2077, in wsgi_app
[Mon May 23 11:21:51.516212 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] response = self.full_dispatch_request()
[Mon May 23 11:21:51.516234 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/flask/app.py", line 1525, in full_dispatch_request
[Mon May 23 11:21:51.516254 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] rv = self.handle_user_exception(e)
[Mon May 23 11:21:51.516273 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/flask/app.py", line 1523, in full_dispatch_request
[Mon May 23 11:21:51.516295 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] rv = self.dispatch_request()
[Mon May 23 11:21:51.516315 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/flask/app.py", line 1509, in dispatch_request
[Mon May 23 11:21:51.516334 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
[Mon May 23 11:21:51.516354 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/var/www/apipython/app.py", line 83, in login
[Mon May 23 11:21:51.516373 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] accounts = ModelUser.getAccount(db,logged_user)
[Mon May 23 11:21:51.516395 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/var/www/apipython/models/ModelUser.py", line 58, in getAccount
[Mon May 23 11:21:51.516415 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] raise Exception(ex)
[Mon May 23 11:21:51.516443 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] Exception: (1046, 'No database selected')
app.wsgi文件:
#from app import app as applicationimport sys
import sys
sys.path.insert(0, '/var/www/apipython/')
sys.path.append('anaconda3/envs/iaw/lib/python3.9/site-packages/')
activate_this = '/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/bin/activate_this.py'
with open(activate_this) as file_:
exec(file_.read(), dict(__file__=activate_this))
from app import app as application
pd:数据库已经在我开发应用程序时创建的conf.py文件中配置app.py
CONFIG.PY:
class Config:
SECRET_KEY = 'B!1w8NAt1T^%kvhUI*S^'
class DevelopmentConfig(Config):
#DEBUG = True
#MYSQL_HOST = '192.168.127.62'
#MYSQL_USER = 'webserver'
#MYSQL_PASSWORD = 'alumne'
#MYSQL_DB = 'inmibank_bbdd'
DEBUG = True
MYSQL_HOST = 'localhost'
MYSQL_USER = 'root'
MYSQL_PASSWORD = 'alumne'
MYSQL_DB = 'proba2'
config = {
'development': DevelopmentConfig
}
如果你们有任何想法,请告诉我。
谢谢顺便说一句
the thing is that i created a web app in python with flask, connected to an a mysql server.
Im trying to run it on a apache2 server with mod wsgi.
The web app in apache is working, after install all packages required, created an env with python3.9..
but when i'm trying to do the login, the apache error log shows an error:
[Mon May 23 11:08:42.395088 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50084] Exception: (1046, 'No database selected')
when i change the user on /etc/.../sites-available/app.conf file, the user that is trying to connect database is the same that the user is in the .../sites-available/app.conf file
FILE APP.CONF
<VirtualHost *:80>
ServerAdmin apipython@localhost
ServerName apipython.asix
ServerAlias www.apipython.asix
DocumentRoot /var/www/apipython
WSGIDaemonProcess apipython user=www-data threads=10
WSGIScriptAlias / /var/www/apipython/app.wsgi
<Directory /var/www/apipython>
WSGIProcessGroup apipython
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
when change the user www-data, is that the user trying to connect database
I had to create a user on mysql server name www-data
i dont know how to specify a database on app.conf file.
im showing my error log, and my app.wsgi file..
ERROR LOG:
[Mon May 23 11:21:51.515747 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] [2022-05-23 11:21:51,515] ERROR in app: Exception on /login [POST]
[Mon May 23 11:21:51.515859 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] Traceback (most recent call last):
[Mon May 23 11:21:51.515889 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/var/www/apipython/models/ModelUser.py", line 47, in getAccount
[Mon May 23 11:21:51.515911 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] cursor.execute(sql)
[Mon May 23 11:21:51.515936 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/MySQLdb/cursors.py", line 206, in execute
[Mon May 23 11:21:51.515958 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] res = self._query(query)
[Mon May 23 11:21:51.515978 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/MySQLdb/cursors.py", line 319, in _query
[Mon May 23 11:21:51.516027 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] db.query(q)
[Mon May 23 11:21:51.516052 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/MySQLdb/connections.py", line 254, in query
[Mon May 23 11:21:51.516072 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] _mysql.connection.query(self, query)
[Mon May 23 11:21:51.516092 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] MySQLdb._exceptions.OperationalError: (1046, 'No database selected')
[Mon May 23 11:21:51.516112 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226]
[Mon May 23 11:21:51.516133 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] During handling of the above exception, another exception occurred:
[Mon May 23 11:21:51.516153 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226]
[Mon May 23 11:21:51.516173 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] Traceback (most recent call last):
[Mon May 23 11:21:51.516192 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/flask/app.py", line 2077, in wsgi_app
[Mon May 23 11:21:51.516212 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] response = self.full_dispatch_request()
[Mon May 23 11:21:51.516234 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/flask/app.py", line 1525, in full_dispatch_request
[Mon May 23 11:21:51.516254 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] rv = self.handle_user_exception(e)
[Mon May 23 11:21:51.516273 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/flask/app.py", line 1523, in full_dispatch_request
[Mon May 23 11:21:51.516295 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] rv = self.dispatch_request()
[Mon May 23 11:21:51.516315 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/lib/python3.8/site-packages/flask/app.py", line 1509, in dispatch_request
[Mon May 23 11:21:51.516334 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
[Mon May 23 11:21:51.516354 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/var/www/apipython/app.py", line 83, in login
[Mon May 23 11:21:51.516373 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] accounts = ModelUser.getAccount(db,logged_user)
[Mon May 23 11:21:51.516395 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] File "/var/www/apipython/models/ModelUser.py", line 58, in getAccount
[Mon May 23 11:21:51.516415 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] raise Exception(ex)
[Mon May 23 11:21:51.516443 2022] [wsgi:error] [pid 3529] [remote 127.0.0.1:50226] Exception: (1046, 'No database selected')
APP.WSGI FILE:
#from app import app as applicationimport sys
import sys
sys.path.insert(0, '/var/www/apipython/')
sys.path.append('anaconda3/envs/iaw/lib/python3.9/site-packages/')
activate_this = '/home/alumne/.local/share/virtualenvs/anaconda3-iy5Unvg4-PFT_Zdiy/bin/activate_this.py'
with open(activate_this) as file_:
exec(file_.read(), dict(__file__=activate_this))
from app import app as application
PD: THE DATABASE IS ALREADY CONFIGURE IN THE CONF.PY FILE THAT I CREATED WHILE I WAS DEVELOPING THE APP, AND IS IMPORTED ON MY APP.PY
CONFIG.PY:
class Config:
SECRET_KEY = 'B!1w8NAt1T^%kvhUI*S^'
class DevelopmentConfig(Config):
#DEBUG = True
#MYSQL_HOST = '192.168.127.62'
#MYSQL_USER = 'webserver'
#MYSQL_PASSWORD = 'alumne'
#MYSQL_DB = 'inmibank_bbdd'
DEBUG = True
MYSQL_HOST = 'localhost'
MYSQL_USER = 'root'
MYSQL_PASSWORD = 'alumne'
MYSQL_DB = 'proba2'
config = {
'development': DevelopmentConfig
}
web is working fine in development server, served by python in visualcode
if u guys have any idea let me know please.
Thanks BTW
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
天哪,我至少已经2天三日了解决这个问题
我唯一要做的就是从我的app.conf文件更改用户和组
我告诉你们
现在正在为Meee工作!!!
工作
OMG, I BEEN AT LEAST 2 DAYS TRIYING TO SOLVE THIS
THE ONLY THING THAT I DID IS CHANGE THE USER AND GROUP FROM MY APP.CONF FILE
I SHOW YOU GUYS
NOW IS WORKING FOR MEEE!!!
WORKING