溫馨提示×

Ubuntu Python部署如何操作

小樊
49
2025-03-24 16:33:10
欄目: 編程語言

在Ubuntu上部署Python應用通常涉及以下幾個步驟:

  1. 安裝Python和pip

    sudo apt update
    sudo apt install python3 python3-pip
    
  2. 創建虛擬環境(推薦):

    python3 -m venv myenv
    source myenv/bin/activate
    
  3. 安裝項目依賴

    在項目目錄中,使用requirements.txt文件安裝依賴:

    pip install -r requirements.txt
    
  4. 上傳項目文件

    將應用程序文件上傳到生產服務器,確保所有的源代碼文件和requirements.txt文件都已上傳。

  5. 配置Nginx作為反向代理(可選):

    • 安裝Nginx:

      sudo apt install nginx
      
    • 配置Nginx:

      編輯Nginx配置文件,通常位于/etc/nginx/sites-available/default,添加以下內容到配置文件中:

      server {
          listen 80;
          server_name your_domain_or_ip;
          location / {
              proxy_pass http://127.0.0.1:8000;
              proxy_set_header Host host;
              proxy_set_header X-Real-IP remote_addr;
              proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto scheme;
          }
      }
      

      保存并退出編輯器。

    • 測試Nginx配置:

      sudo nginx -t
      
    • 重新加載Nginx:

      sudo systemctl reload nginx
      
  6. 設置系統服務(可選):

    為了確保Python應用在系統重啟后自動啟動,可以創建一個systemd服務文件。

    • 創建systemd服務文件:

      sudo nano /etc/systemd/system/python-app.service
      

      添加以下內容:

      [Unit]
      Description=Python Application
      After=network.target
      
      [Service]
      User=your_user
      Group=your_group
      WorkingDirectory=/path/to/your/app
      ExecStart=/path/to/your/app/myenv/bin/python3 /path/to/your/app/app.py
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      

      保存并退出編輯器。

    • 重新加載systemd配置并啟動服務:

      sudo systemctl daemon-reload
      sudo systemctl start python-app.service
      sudo systemctl enable python-app.service
      
  7. 配置防火墻(如果需要):

    sudo ufw allow 80
    sudo ufw allow 8000
    
  8. 運行應用

    在項目目錄中,運行以下命令啟動Python應用:

    python app.py
    

    如果應用運行正常,會顯示應用訪問地址以及端口號。

以上步驟是在Ubuntu上部署Python應用的基本流程,具體的應用部署可能會根據應用的不同而有所差異。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女