gpt4 book ai didi

linux - 远程访问 virtualenv

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:21 29 4
gpt4 key购买 nike

我在服务器 10.37.45.89 上安装了 apache httpd,服务器上安装了 wsgi_module。我已将我的 wsgi.conf 文件放在 /etc/apache2/conf.d 位置下,详细信息如下:

<virtualhost *:80>
ServerName my.webtool

WSGIDaemonProcess webtool user=www-data group=www-data threads=5 home=/home/user/flask-dev
WSGIScriptAlias / /home/user/flask-dev/webtool.wsgi

<directory /home/user/flask-dev>
WSGIProcessGroup webtool
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Order deny,allow
Allow from all
</directory>
</virtualhost>

我在另一台服务器 10.37.45.90 上安装了 Flask,我首先按照以下方式设置了 virtualenv

(user@ajdfhklfhasjdf01 [~/flask-dev]) sudo pip install virtualenv
(user@ajdfhklfhasjdf01 [~/flask-dev]) sudo virtualenv venv
(user@ajdfhklfhasjdf01 [~/flask-dev]) source venv/bin/activate
(venv)(user@ajdfhklfhasjdf01 [~/flask-dev])
(venv)(user@ajdfhklfhasjdf01 [~/flask-dev]) sudo pip install Flask

我的代码和 wsgi 文件具有以下层次结构:

(venv)(user@ajdfhklfhasjdf01 [~/flask-dev])$ ls
__init__.py* webtool.wsgi*

(venv)(user@ajdfhklfhasjdf01 [~/flask-dev])$ cat webtool.wsgi
import sys
sys.path.append('/home/user/flask-dev')
from webtool import app as application

(venv)(user@ajdfhklfhasjdf01 [~/flask-dev])$ cat __init__.py
import socket
from flask import Flask
app = Flask(__name__)
host_ip_address = socket.gethostbyname(socket.gethostname())
@app.route("/")
def hello():
return "Hello world!"
if __name__ == "__main__":
app.run(debug=True,host=host_ip_address,port=30004)

我不确定如何在这两个服务器之间执行链接,以便 Flask 可以服务 httpd 给出的请求。

最佳答案

我不是这个主题的专家,但我认为如果您在不同的服务器上运行 python 应用程序,WSGI 可能是不可能的/错误的选择。

相反:将您的 apache 设置为 reverse proxy

使用“生产质量”WSGI 服务器而不是 Flask 内置的 werkzeug 开发 WSGI 服务器在远程服务器上运行 Flask 应用程序。流行的选择是 uWSGI、gunicorn、gevent...

我找到了waitress是一个不错的选择。它附带了一个命令行工具,因此您可以通过发出以下命令来启动您的应用程序:waitress-serve --port=8080 myapp:wsgifunc

然后将您的 apache 代理设置为 http://:8080。

关于linux - 远程访问 virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51301556/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com