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).
Bạn có thể cài đặt tất cả chúng bằng cách chạy lệnh sau:
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:
Bạn có thể thực hiện việc này bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp. Sau đó, cấp quyền thích hợp cho tệp wsgi.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:
Thêm các dòng sau:
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:
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
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
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]
Mã:
sudo chown www-data:www-data /var/www/html/wsgy.py
sudo chmod 755 /var/www/html/wsgy.py
Mã:
sudo nano /etc/apache2/conf-available/wsgi.conf
Mã:
WSGIScriptAlias /wsgi /var/www/html/wsgy.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