在Apache服务器上运行多个Flask应用程序

时间:2019-04-13 07:58:29

标签: python apache flask

我在var/www/html中有多个烧瓶应用,例如var/www/html/websitevar/www/html/summaryvar/www/html/sentiment

一旦我成功运行了所有应用程序。

然后,我又添加了一个应用程序,为此我创建了conf文件并重新启动了服务器。

所有应用程序停止运行后,仅打开var/www/html/sentiment

我在python,wsgi和conf文件中检查了其他应用程序的代码,与情感相同。

情感应用代码

flaskapp.py

from flask import Flask
app = Flask(__name__)

@app.route('/sentiment')
def hello_world():
  return 'Hello from Sentiment!'

if __name__ == '__main__':
  app.run()


flaskapp.wsgi

import sys
sys.path.insert(0, '/var/www/html/sentiment/')

from flaskapp import app as application

conf文件-/etc/apache2/sites-available/sentiment.conf

<VirtualHost *:80>
                ServerName IP
                ServerAdmin admin@mywebsite.com
                WSGIScriptAlias / /var/www/html/sentiment/flaskapp.wsgi
                <Directory /var/www/html/sentiment/>
                        Order allow,deny
                        Allow from all
                </Directory>
                ErrorLog ${APACHE_LOG_DIR}/error.log
                LogLevel warn
                CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

摘要应用程序代码 flaskapp.y

from flask import Flask
app = Flask(__name__)

@app.route('/summary')
def hello_world():
  return 'Hello from Summary!'

if __name__ == '__main__':
  app.run()

flaskapp.wsgi

import sys
sys.path.insert(0, '/var/www/html/summary/')

from flaskapp import app as application

/etc/apache2/sites-available/summary.conf

<VirtualHost *:80>
                ServerName IP
                ServerAdmin admin@mywebsite.com
                WSGIScriptAlias / /var/www/html/summary/flaskapp.wsgi
                <Directory /var/www/html/summary/>
                        Order allow,deny
                        Allow from all
                </Directory>
                ErrorLog ${APACHE_LOG_DIR}/error.log
                LogLevel warn
                CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

当我打开ip /情感时仍然有效,但是ip / summary给出

The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

对此有何建议?

1 个答案:

答案 0 :(得分:1)

问题出在您的 WSGIScriptAlias 名称上。

/指向目录中的所有内容。

为所有应用程序提供唯一的别名。

示例:

WSGIScriptAlias /更改为/app1

WSGIScriptAlias /更改为/app2

在两个文件中

然后重新启动服务器。

相关问题