flask服务器运行得很好,但是我想将其放在ubuntu上的apache服务器下,但是由于某种原因,wsgi脚本无法读取,并且Web服务器url给了我404 not found
。
我还意识到WSGIScriptAlias即使没有显示错误也不会被识别,因为它是vim
中唯一未着色的参数,因此显然配置文件无法识别它。
已安装的软件包已启用apt-get install libapache2-mod-wsgi-py3 python-dev
和a2enmod wsgi
。
这里是flaskapp.wsgi
<VirtualHost *:80>
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
ServerName user-management
ServerAdmin o.aa@example.com
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/customer-account-automation/>
Allowoverride None
Require all granted
</Directory>
Alias /static /var/www/FlaskApp/customer-account-automation/static
<Directory /var/www/FlaskApp/customer-account-automation/static/>
AllowOverride None
Require all granted
</Directory>
Alias /templates /var/www/FlaskApp/customer-account-automation/templates
<Directory /var/www/FlaskApp/customer-account-automation/templates/>
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
这里是flaskapp.wsgi
#!/usr/bin/python3
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/customer-account-automation/")
from app import app as application
application.secret_key = 'secret'
这是/var
目录的树
└── www
├── FlaskApp
│ ├── customer-account-automation
│ │ ├── Pipfile
│ │ ├── Pipfile.lock
│ │ ├── README.md
│ │ ├── app.py
│ │ ├── customerAccountMgmt.py
│ │ ├── get-pip.py
│ │ ├── static
│ │ │ ├── app.js
│ │ │ ├── bulma.min.css
│ │ │ ├── highlight.min.css
│ │ │ ├── highlight.min.js
│ │ │ └── styles.css
│ │ └── templates
│ │ ├── 404.html
│ │ ├── base.html
│ │ ├── change_password.html
│ │ ├── create_user.html
│ │ ├── deactivate_user.html
│ │ └── login.html
│ └── flaskapp.wsgi
└── html
└── index.html