在Debian上搭建Python Web服务器可以通过多种方式实现,以下是使用Apache和mod_wsgi的步骤:
首先,更新你的包列表并安装Apache2和mod_wsgi:
sudo apt update
sudo apt install apache2 libapache2-mod-wsgi-py3 python3-pip
为了隔离项目依赖,建议创建一个Python虚拟环境:
sudo apt install python3-venv
python3 -m venv myprojectenv
source myprojectenv/bin/activate
在虚拟环境中安装Flask:
pip install Flask
创建一个名为app.py
的文件,并添加以下内容:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
创建一个新的Apache配置文件来托管你的Flask应用:
sudo nano /etc/apache2/sites-available/myproject.conf
在文件中添加以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/myproject
WSGIDaemonProcess myproject python-path=/var/www/myproject python-home=/var/www/myproject/myprojectenv
WSGIProcessGroup myproject
WSGIScriptAlias / /var/www/myproject/app.wsgi
<Directory /var/www/myproject>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
保存并关闭文件。
启用新创建的站点配置并重启Apache:
sudo a2ensite myproject.conf
sudo systemctl restart apache2
确保你的防火墙允许HTTP流量:
sudo ufw allow 'Apache Full'
打开浏览器并访问http://your_server_ip
,你应该能看到“Hello, World!”的消息。
如果你需要停止或启动Apache服务,可以使用以下命令:
sudo systemctl stop apache2
sudo systemctl start apache2
通过以上步骤,你就可以在Debian上成功搭建一个Python Web服务器。