2013-05-31 27 views
7

Tôi đang sử dụng mod_wsgi để phục vụ trang web django nhưng tôi gặp lỗi máy chủ nội bộ. Đây là nhật ký apache:Làm thế nào tôi có thể xây dựng lại mod_wsgi của tôi để sử dụng python 2.7.3?

[Fri May 31 10:11:25 2013] [error] python_init: Python version mismatch, expected '2.7.2+', found '2.7.3'. 
[Fri May 31 10:11:25 2013] [error] python_init: Python executable found '/usr/bin/python'. 
[Fri May 31 10:11:25 2013] [error] python_init: Python path being used '/usr/lib/python2.7/:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload'. 
[Fri May 31 10:11:25 2013] [warn] mod_wsgi: Compiled for Python/2.7.2+. 
[Fri May 31 10:11:25 2013] [warn] mod_wsgi: Runtime using Python/2.7.3. 
[Fri May 31 10:11:25 2013] [notice] Apache/2.2.22 (Ubuntu) DAV/2 mod_fcgid/2.3.6 mod_python/3.3.1 Python/2.7.3 mod_ssl/2.2.22 OpenSSL/1.0.1 mod_wsgi/3.3 mod_perl/2.0.5 Perl/v5.14.2 configured -- resuming normal operations 

Vì vậy, có vẻ như có sự không khớp giữa phiên bản mod_wsgi và phiên bản thời gian chạy của python. Làm thế nào tôi có thể cập nhật điều này?

+0

Đó là phiên bản không phù hợp không nên quan trọng nếu mod_wsgi được liên kết với một phiên bản chia sẻ của thư viện Python và không tĩnh. Đảm bảo bạn có một số loại đăng nhập cho Django được kích hoạt, hoặc email của lỗi để quản trị viên. Ngoài ra hãy chắc chắn rằng bạn đã thiết lập mẫu 404 và 500 cho Django. –

+0

Báo cáo lỗi https://bugs.launchpad.net/ubuntu/+source/libapache2-mod-python/+bug/1073147 – Sherbrow

Trả lời

5

Bạn phải biên dịch mod_wsgi từ nguồn và cài đặt lại.

Nhiều khả năng đơn giản như:

$ ./configure 
$ make 
$ sudo make install 

The mod_wsgi documentation diện này một cách chi tiết.

4

Tôi không phải biên dịch từ mã nguồn, điều này đã giúp tôi:

$ apt-get remove libapache2-mod-python libapache2-mod-wsgi 
$ apt-get build-dep libapache2-mod-python libapache2-mod-wsgi 
2

Hãy nhớ kiểm tra xem các tập tin wsgi.load và wsgi.conf vẫn được tham chiếu trong cấu hình apache2. Đối với Ubuntu (và có lẽ Debian) có nghĩa là có một liên kết tượng trưng từ/etc/apache2/mods-available đến/etc/apache2/mods-enabled.

+0

Điều này rất rõ ràng nhưng đôi khi bạn quên. Cảm ơn bạn! – xxinerKYU

Các vấn đề liên quan