2017-07-02 3 views
0

Ich bin ein Neuling, also habe ich ein paar Tutorials gesehen. Ich habe ein Python-Skript als first.pyWie starte ich Python CGI-Skript auf Apache2 Server auf Ubuntu 16.04?

#!/usr/bin/python3 print "Content-type: text/html\n" print "Hello, world!"

ich mehrere Versionen von Python auf meinem Computer haben. konnte ich nicht mein cgi aktiviert Verzeichnis herausfinden, so klebte ich diesen Code an drei Stellen

  1. /usr/lib/cgi-bin/first.py

  2. /usr/lib/cups/cgi-bin/first.py

  3. /var/www/html/first.py

Nun, wenn ich diesen Code in Terminal ausführen es funktioniert gut, aber wenn ich

01 geben

curl http://localhost/first.py

es spucken nur einfachen Text aus und wird nicht ausgeführt.

Ich habe alle Berechtigungen gegeben

I aktiviert haben first.py und begann hier den Server durch Befehle

a2enmod cgi systemctl restart apache2

Bitte sagen, wie kann ich ausführen und was ist da los? Vielen Dank im Voraus.

Antwort

0

Wahrscheinlich das Problem, das Sie in Python läuft 3 und der Code in Python 2 Ändern Sie den Titel zu python2 geschrieben:

#!/usr/bin/python 
print "Content-type: text/html\n" 
print "Hello, world!" 
+0

Nein, das ist nicht das Problem. Ich habe das versucht. – Harsh

0

Diese Leitungen müssen in Ihrer apache2 Website Konfigurationsdatei (z Beispiel /etc/apache2/sites-available/default-ssl.conf , wenn Ihre Website HTTPS verwendet):

<Directory /var/www/yoursite/yourdir/> 
    Options +ExecCGI 
    PassEnv LANG 
    AddHandler cgi-script .py 
</Directory> 

Fügen Sie sie für das Verzeichnis, das Sie und neu starten apache2 möchten. Sie müssen möglicherweise auch

zu Ihrer httpd.conf hinzufügen, wenn nicht bereits vorhanden.

Eine ausführlichere Diskussion über Python-Skripte und Apache2 finden Sie hier: Executing a Python script in Apache2.

Verwandte Themen