【发布时间】:2019-09-25 14:28:27
【问题描述】:
是否可以在已经使用该域运行 PHP 网站的 apache + ubuntu 服务器中运行 flask rest api??
简而言之:如果我浏览 url www.example.com 则应该加载正常的 php 网站。如果我打电话给www.example.com/services/api 那么flask api应该给出结果......
更新 => 回答 最后我找到了一个解决方案,如果它可以帮助某人,请在这里发布...... (Ubuntu 服务器)
-->root (假设 Python 和 Pip 已经安装)
sudo apt-get install libapache2-mod-wsgi-py3 python3-devsudo apt-get install python3-pippip3 install virtualenv
-->与域用户 导航到要创建虚拟环境的文件夹...然后键入以下命令(您可以根据需要更改虚拟环境名称)
-
python3 -m virtualenv myenv - 使用命令
source myenv/bin/activate激活环境 - 用推荐
pip install flask安装烧瓶 - 在数据下创建文件-->
flaskapp.wsgi在项目文件夹或任何你想要的地方...然后按照代码
import logging
import sys
activate_this = '/your/envfolder/path/bin/activate_this.py'
exec(compile(open(activate_this).read(), activate_this, 'exec'), dict(__file__=activate_this))
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, '/your/app/folder/path/where/you/can/import/app')
from App import app as application
#application.secret_key = 'anything-you-wish'
最后用etc/apache2/sites_available 和你的sitename.conf 添加下面的代码...
WSGIScriptAlias /your/wsgi/folderpath/flaskapp.wsgi
<Directory /your/wsgi/folderpath/>
# set permissions as per apache2.conf file
allow from all
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
注意: 这就是我让它工作的方式......我不是专业的服务器开发人员,我不确定这是否是正确的方法......
【问题讨论】:
-
可能。为什么不?你试过了吗?发生了什么?
-
我知道通过安装和配置 mod_wsgi 和配置 apache2/sites-available/website.conf 来单独托管烧瓶应用程序,但我不知道如何更新 php 已用于同一域的 website.conf。
标签: python apache flask mod-wsgi flask-restful