Mô-đun Apache mod_wsgi cung cấp giao diện để lưu trữ các ứng dụng web dựa trên Python. Đây là lựa chọn tốt cho các hệ thống lưu trữ chuyên nghiệp vì nó cung cấp giải pháp hiệu suất cao, nhưng cũng hoạt động tốt cho các trang web nhỏ. Việc triển khai các ứng dụng được viết bằng các khung Python như Django, Web.py, Werkzug, Chery.py, TurboGears và Flask trở nên dễ dàng với mod_wsgi.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt và cấu hình mod_wsgi bằng máy chủ web Apache trên Ubuntu 22.04 LTS. Hướng dẫn này là phiên bản cập nhật của hướng dẫn Apache WSGI cho Ubuntu 20.04 từ Hitesh Jethva.
Sau khi cập nhật hệ thống, hãy khởi động lại hệ thống để triển khai các thay đổi.
Ảnh chụp màn hình bên dưới hiển thị đầu ra của lệnh khi python đã được cài đặt.
Bây giờ hãy tiến hành bước tiếp theo.
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.
Bạn có thể tạo tập lệnh python bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp. Sau đó, thay đổi quyền sở hữu tệp thành www-data bằng lệnh sau:
Tiếp theo, chỉnh sửa tệp cấu hình máy chủ ảo Apache để phục vụ tệp này qua giao thức HTTP.
Thêm nội dung sau dòng:
ngay trước dòng
Toàn bộ tệp máy chủ ảo trông như thế này:
Lưu các thay đổi trong trình soạn thảo văn bản và đóng trình soạn thảo. Bước tiếp theo là khởi động lại máy chủ web Apache để áp dụng các thay đổi.
Mở trình duyệt web và nhập URL http://your-server-ip/wsgi. thay thế your-server-ip bằng địa chỉ IP của máy chủ. Bạn sẽ nhận được một trang trắng với dòng chữ "Xin chào Howtoforge!".
Vậy là xong, giờ bạn đã có một máy chủ web Apache được cấu hình đúng để chạy các ứng dụng Python bằng mod_wsgi. Bước tiếp theo là triển khai ứng dụng web python của bạn vào thư mục /var/www/html/ và thay đổi dòng WSGIScriptAlias trong tệp /etc/apache2/sites-enabled/000-default.conf để khớp với tập lệnh bắt đầu của ứng dụng. Sau đó, khởi động lại Apache một lần nữa để áp dụng thay đổi cấu hình.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt và cấu hình mod_wsgi bằng máy chủ web Apache trên Ubuntu 22.04 LTS. Hướng dẫn này là phiên bản cập nhật của hướng dẫn Apache WSGI cho Ubuntu 20.04 từ Hitesh Jethva.
Điều kiện tiên quyết
- Máy chủ hoặc máy tính để bàn Ubuntu 22.04
- Bạn phải là quản trị viên hệ thống và có quyền root hoặc sudo để cài đặt và cấu hình phần mềm này.
Bắt đầu
Trước khi bắt đầu, bạn nên cập nhật hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật hệ thống của mình bằng lệnh sau:
Mã:
sudo apt update -y
sudo apt upgrade -y
Cài đặt ngôn ngữ lập trình Python
Theo mặc định, Python được cài đặt sẵn trên Ubuntu 22.04. trong trường hợp Python chưa được cài đặt, thì bạn có thể cài đặt bằng lệnh này:
Mã:
sudo apt install python3 libexpat1 -y
Bây giờ hãy tiến hành bước tiếp theo.
Cài đặt máy chủ web Apache và mô-đun mod_wsgi
Trong bước này, chúng ta sẽ cài đặt máy chủ web Apache và mô-đun Python mod_wsgi. Thực hiện lệnh sau để cài đặt cả hai ứng dụng. Các gói phần mềm phụ thuộc sẽ được cài đặt tự động.
Mã:
sudo apt install apache2 apache2-utils ssl-cert libapache2-mod-wsgi-py3 -y
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.
Cấu hình mô-đun WSGI trong Apache
Tiếp theo, bạn cần tạo một tập lệnh Python mới bên trong thư mục gốc web mặc định của Apache để phục vụ nó thông qua mô-đun WSGI Apache. Chúng tôi sẽ sử dụng một tập lệnh 'Hello World' nhỏ ở đây cho mục đích trình diễn.Bạn có thể tạo tập lệnh python bằng lệnh sau:
Mã:
sudo nano /var/www/html/wsgitest.py
Mã:
def application(environ, start_response):
status = '200 OK'
output = b'Hello Howtoforge!\n'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Mã:
sudo chown www-data:www-data /var/www/html/wsgitest.py
sudo chmod 775 /var/www/html/wsgitest.py
Mã:
sudo nano /etc/apache2/sites-enabled/000-default.conf
Mã:
WSGIScriptAlias /wsgi /var/www/html/wsgitest.py
Mã:
Mã:
# The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf WSGIScriptAlias /wsgi /var/www/html/wsgitest.py# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Mã:
systemctl restart apache2
Kiểm tra tập lệnh WSGI Python 3
Bây giờ máy chủ Apache HTTP đã được cấu hình để phục vụ tệp Python của chúng tôi qua giao thức HTTP.Mở trình duyệt web và nhập URL http://your-server-ip/wsgi. thay thế your-server-ip bằng địa chỉ IP của máy chủ. Bạn sẽ nhận được một trang trắng với dòng chữ "Xin chào Howtoforge!".
Vậy là xong, giờ bạn đã có một máy chủ web Apache được cấu hình đúng để chạy các ứng dụng Python bằng mod_wsgi. Bước tiếp theo là triển khai ứng dụng web python của bạn vào thư mục /var/www/html/ và thay đổi dòng WSGIScriptAlias trong tệp /etc/apache2/sites-enabled/000-default.conf để khớp với tập lệnh bắt đầu của ứng dụng. Sau đó, khởi động lại Apache một lần nữa để áp dụng thay đổi cấu hình.
Tải xuống dưới dạng máy ảo
Thiết lập này có sẵn dưới dạng tải xuống máy ảo ở định dạng ova/ovf (tương thích với VMWare và Virtualbox) dành cho những người đăng ký howtoforge.Chi tiết đăng nhập cho VM
- Mật khẩu của người dùng 'admininstrator' là: 'howtoforge'. Người dùng quản trị có quyền sudo.
- Địa chỉ IP của VM là 192.168.0.100