温馨提示×

如何配置Debian Python网络

小樊
49
2025-09-07 06:20:34
栏目: 编程语言

一、配置Debian系统网络

  1. 使用Netplan配置(推荐,Debian 10+)

    • 安装Netplan:sudo apt install netplan
    • 编辑配置文件(如/etc/netplan/01-netcfg.yaml):
      network:
        version: 2
        ethernets:
          eth0:
            dhcp4: no
            addresses: [192.168.1.100/24]
            gateway4: 192.168.1.1
            nameservers:
              addresses: [8.8.8.8, 8.8.4.4]
      
    • 应用配置:sudo netplan apply
  2. 使用NetworkManager(图形化/命令行)

    • 安装:sudo apt install network-manager
    • 启用:sudo systemctl enable NetworkManager
    • 命令行工具nmcli示例(添加有线连接):
      sudo nmcli connection add type ethernet con-name "Wired" ifname eth0 ipv4.addresses "192.168.1.100/24" ipv4.gateway "192.168.1.1" ipv4.method manual
      sudo nmcli connection up "Wired"
      

二、配置Python网络服务

  1. 安装Python及依赖

    sudo apt update
    sudo apt install python3 python3-pip
    pip3 install flask  # 以Flask为例
    
  2. 编写Python网络应用

    • 示例Flask代码(app.py):
      from flask import Flask
      app = Flask(__name__)
      @app.route('/')
      def hello():
          return "Hello, World!"
      if __name__ == '__main__':
          app.run(host='0.0.0.0', port=5000)
      
  3. 使用Nginx反向代理(可选)

    • 安装Nginx:sudo apt install nginx
    • 配置代理(/etc/nginx/sites-available/myapp):
      server {
          listen 80;
          server_name your_domain_or_ip;
          location / {
              proxy_pass http://127.0.0.1:5000;
              proxy_set_header Host $host;
          }
      }
      
    • 启用配置并重启Nginx:
      sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled
      sudo nginx -t && sudo systemctl reload nginx
      
  4. 防火墙配置

    • 允许HTTP流量(UFW):sudo ufw allow 5000/tcpsudo ufw allow 'Nginx Full'

三、验证网络

  • 运行Python服务:python3 app.py
  • 通过浏览器访问http://your_server_ip:5000或配置的域名,查看是否返回“Hello, World!”

注意事项

  • 确保系统已更新:sudo apt update && sudo apt upgrade
  • 生产环境建议使用Gunicorn替代直接运行Flask:pip3 install gunicorn,然后运行gunicorn -w 4 -b 127.0.0.1:8000 app:app

0