Cách chạy Python Scripts với Apache và mod_wsgi trên Ubuntu 18.04

theanh

Administrator
Nhân viên
mod_wsgi là một mô-đun Apache có thể được sử dụng để phục vụ các tập lệnh Python qua HTTP thông qua máy chủ web Apache. Bạn có thể dễ dàng triển khai các ứng dụng được viết bằng các khuôn khổ và công cụ như Django, Web.py, Werkzug, Chery.py, TurboGears và Flask bằng cách sử dụng mod_wsgi.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt và thiết lập mod_wsgi với máy chủ Apache trên máy chủ Ubuntu 18.04 LTS (Bionic Beaver).

Yêu cầu​

  • Máy chủ chạy máy chủ Ubuntu 18.04.
  • Người dùng không phải root có quyền sudo.
  • Địa chỉ IP tĩnh 192.168.43.229 cấu hình trên máy chủ của bạn.

Cài đặt Apache và mod_wsgi​

Trước khi bắt đầu, bạn sẽ cần cài đặt một số gói cần thiết vào hệ thống của mình.

Bạn có thể cài đặt tất cả chúng bằng cách chạy lệnh sau:
Mã:
sudo apt-get install python libexpat1 apache2 apache2-utils ssl-cert -y
Sau khi tất cả các gói cần thiết đã được cài đặt, bạn có thể tiến hành cài đặt mod_wsgi bằng lệnh sau:
Mã:
sudo apt-get install libapache2-mod-wsgi -y

Cấu hình Apache cho mod_wsgi​

Tiếp theo, bạn sẽ cần tạo một tập lệnh python bên trong thư mục gốc web Apache để phục vụ thông qua mod_wsgi Apache module.

Bạn có thể thực hiện việc này bằng lệnh sau:
Mã:
sudo nano /var/www/html/wsgy.py
Thêm các dòng sau:
Mã:
def application(environ,start_response): status = '200 OK' html = '\n' \ '\n' \ '\n' \ 'Chào mừng đến với Trang kiểm tra mod_wsgi\n' \ '\n' \ '\n' \ '\n' response_header = [('Content-type','text/html')] start_response(status,response_header) return [html]
Lưu và đóng tệp. Sau đó, cấp quyền thích hợp cho tệp wsgi.py:
Mã:
sudo chown www-data:www-data /var/www/html/wsgy.py
sudo chmod 755 /var/www/html/wsgy.py
Tiếp theo, bạn sẽ cần cấu hình Apache để phục vụ tệp này qua giao thức HTTP. Bạn có thể thực hiện việc này bằng cách tạo tệp wsgi.conf:
Mã:
sudo nano /etc/apache2/conf-available/wsgi.conf
Thêm các dòng sau:
Mã:
WSGIScriptAlias /wsgi /var/www/html/wsgy.py
Lưu và đóng tệp. Sau đó, cấp quyền thích hợp cho tệp wsgi.py:

Sau đó, bật cấu hình mod-wsgi và khởi động lại dịch vụ Apache bằng lệnh sau:
Mã:
sudo a2enconf wsgi
sudo systemctl restart apache2

Kiểm tra các tập lệnh Python trong Apache bằng mod-wsgi​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http://example.com/wsgi. Bạn sẽ được chuyển hướng đến trang sau:


Liên kết​

 
Back
Bên trên