我的小项目有问题。 我正在尝试在Apache Web Serwer上实现loadbalancer 它将所有传入请求发送到两个应用程序服务器 用uwsgi +烧瓶。
My web serwer ip is: 10.0.0.10
App1: 10.0.0.8
App2: 10.0.0.9
当我遇到以下情况时,一切都很好:
app = Flask(__name__)
@app.route('/')
def index():
return render_template('heh.html')
然后我的URL是10.0.0.10,并显示heh.html的内容。所以这很好,但是..
当我尝试路由到其他位置时,我的问题开始了:
@app.route('/project/')
def project():
return "I'm App 1"
当我尝试使用浏览器进行连接时: 10.0.0.10/项目 然后我的网址更改为10.0.0.8/projects或10.0.0.9/projects 而且我知道“连接被拒绝”的信息
我在以下Web服务器上的Apache配置:
<Proxy balancer://mycluster>
BalancerMember http://10.0.0.8:8081
BalancerMember http://10.0.0.9:8081
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
在应用程序节点上的Uwsgi配置:
[uwsgi]
chdir = /opt/uwsgi
wsgi-file = myflaskapp.py
http-socket = :8081
processes = 20
threads = 10
stats = :8082
callable = app
uid = klopsiu
harakiri = 50
logto = /var/log/uwsgi/uwsgi.log
我的应用程序文件:
from flask import Flask, render_template, redirect, url_for, current_app
app = Flask(__name__)
@app.route('/')
def index():
return render_template('heh.html')
@app.route('/projects/')
def projects():
return "I'm app 1"
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
请告知。 我不想使用任何反向代理,我希望一切都进来,出来 通过负载均衡器。
感谢并等待您的帮助:)
答案 0 :(得分:0)
那是我的错误,我忘记了当我尝试访问一些烧瓶URL时,我只需要在末尾添加/,例如: 10.0.0.10/数据库/