TopDev

Hướng dẫn cài đặt code Python lên server Ubuntu

minhu 📖 5 phút đọc 💬 1 phản hồi

Để cài đặt và chạy một ứng dụng Python trên server Ubuntu, bạn có thể làm theo các bước dưới đây:

  • Cài đặt Python và pip: Mở terminal và chạy lệnh sau để cập nhật danh sách gói: sudo apt update

    • Cài đặt Python (nếu chưa có): sudo apt install python3 python3-pip
  • Chuẩn bị môi trường ảo (Virtual Environment): Cài đặt virtualenv nếu chưa có: sudo pip3 install virtualenv

    • Tạo một thư mục cho dự án của bạn và chuyển đến thư mục đó: mkdir myproject cd myproject

    • Tạo môi trường ảo: python3 -m venv venv

    • Kích hoạt môi trường ảo: source venv/bin/activate

  • Cài đặt các phụ thuộc: Nếu dự án của bạn có file requirements.txt, bạn có thể cài đặt các phụ thuộc bằng lệnh: pip install -r requirements.txt

  • Triển khai mã nguồn: Di chuyển mã nguồn của bạn vào thư mục dự án. Bạn có thể dùng scp (Secure Copy Protocol) để chuyển file từ máy cục bộ lên server: scp /path/to/local/code.py user@server_ip:/path/to/remote/directory

  • Chạy ứng dụng: Khi ở trong môi trường ảo và trong thư mục dự án, bạn có thể chạy ứng dụng Python của mình bằng lệnh: python code.py

  • Chạy ứng dụng dưới dạng dịch vụ (Tùy chọn): Nếu bạn muốn ứng dụng chạy liên tục và tự động khởi động lại khi server khởi động lại, bạn có thể sử dụng systemd để tạo một dịch vụ.

    • Tạo file dịch vụ, ví dụ /etc/systemd/system/myproject.service: ` [Unit] Description=My Python Project

      [Service] User=your_username Group=your_group WorkingDirectory=/path/to/your/project ExecStart=/path/to/your/project/venv/bin/python /path/to/your/project/code.py Restart=always

      [Install] WantedBy=multi-user.target `

    • Tải lại cấu hình systemd và khởi động dịch vụ: sudo systemctl daemon-reload sudo systemctl start myproject sudo systemctl enable myproject

  • Kiểm tra và quản lý dịch vụ: Kiểm tra trạng thái dịch vụ: sudo systemctl status myproject

    • Dừng dịch vụ: sudo systemctl stop myproject

    • Khởi động lại dịch vụ: sudo systemctl restart myproject

Với các bước trên, bạn sẽ có thể cài đặt và triển khai ứng dụng Python của mình trên một server Ubuntu. Nếu bạn cần thêm thông tin hoặc gặp vấn đề gì, đừng ngần ngại hỏi!

1 phản hồi

  1. minhu #1

    Để cài đặt và triển khai một API Python lên server Ubuntu, bạn có thể làm theo các bước dưới đây. Giả sử bạn đang sử dụng một API đơn giản với Flask, nhưng các bước này có thể áp dụng cho các framework khác như FastAPI, Django, v.v.

    1. Cài Đặt Python và pip#

    Đầu tiên, bạn cần đảm bảo rằng Python và pip đã được cài đặt trên server của bạn:

    sudo apt update sudo apt install python3 python3-pip

    2. Tạo Môi Trường Ảo#

    Tạo và kích hoạt một môi trường ảo để quản lý các gói phụ thuộc:

    sudo pip3 install virtualenv mkdir myapi cd myapi python3 -m venv venv source venv/bin/activate

    3. Cài Đặt Các Phụ Thuộc#

    Cài đặt Flask hoặc bất kỳ framework API nào bạn đang sử dụng. Ví dụ, để cài đặt Flask:

    pip install flask

    Nếu bạn có một file requirements.txt chứa các phụ thuộc, bạn có thể cài đặt tất cả các gói từ file đó:

    pip install -r requirements.txt

    4. Triển Khai Mã Nguồn#

    Tạo mã nguồn cho API của bạn. Ví dụ, một file app.py đơn giản với Flask có thể như sau:

    ` from flask import Flask, jsonify

    app = Flask(name)

    @app.route('/api', methods=['GET']) def get_data(): return jsonify({"message": "Hello, World!"})

    if name == 'main': app.run(host='0.0.0.0', port=5000) `

    5. Chạy API#

    Bạn có thể chạy ứng dụng Flask bằng lệnh:

    python app.py

    6. Cấu Hình Web Server (Nginx) và Gunicorn#

    Để chạy API trong môi trường sản xuất, bạn nên sử dụng Gunicorn làm WSGI server và Nginx làm reverse proxy.

    Cài đặt Gunicorn:

    pip install gunicorn

    Chạy Gunicorn:

    gunicorn --workers 3 --bind 0.0.0.0:5000 app:app

    Cài đặt Nginx:

    sudo apt install nginx

    Cấu hình Nginx:

    Tạo một file cấu hình Nginx cho API của bạn, ví dụ /etc/nginx/sites-available/myapi:

    ` server { listen 80; server_name your_domain_or_ip;

    location / {
        proxy_pass http://127.0.0.1:5000;
        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;
    }
    

    } `

    Kích hoạt cấu hình Nginx:

    sudo ln -s /etc/nginx/sites-available/myapi /etc/nginx/sites-enabled sudo nginx -t sudo systemctl restart nginx

    7. Tạo Dịch Vụ Systemd#

    Để API của bạn tự động khởi động cùng với server, bạn nên tạo một dịch vụ systemd.

    Tạo file dịch vụ, ví dụ /etc/systemd/system/myapi.service:

    ` [Unit] Description=Gunicorn instance to serve myapi After=network.target

    [Service] User=your_username Group=your_group WorkingDirectory=/path/to/your/project ExecStart=/path/to/your/project/venv/bin/gunicorn --workers 3 --bind unix:myapi.sock app:app

    [Install] WantedBy=multi-user.target `

    Khởi động và kích hoạt dịch vụ:

    sudo systemctl daemon-reload sudo systemctl start myapi sudo systemctl enable myapi

    8. Kiểm Tra#

    • Truy cập API: Mở trình duyệt hoặc công cụ như curl để kiểm tra API: curl http://your_domain_or_ip/api

    • Kiểm tra dịch vụ: Kiểm tra trạng thái của dịch vụ systemd: sudo systemctl status myapi

    Với các bước này, bạn đã triển khai một API Python trên server Ubuntu với Flask, Gunicorn, và Nginx. Nếu bạn sử dụng framework khác, quá trình có thể hơi khác nhưng nguyên tắc chung vẫn giống nhau.

Bài liên quan trong #Python

✓ Đã sao chép link