Как использовать Python с apache2?

Сначала вам нужно остановить ваш сервер mysql от службы.

sudo service mysql stop

Затем вы можете использовать команду очистки для удаления

sudo apt-get purge mysql-server mysql-client

. Примечание: приведенное выше на основе вашего пакета список. Я установил сервер и клиент. Это будет для вашего convineient

14
задан 5 March 2011 в 23:46

10 ответов

mod_python в основном не поддерживается - вы должны изучить mod_wsgi. Установите пакет libapache2-mod-wsgi, затем введите sudo a2enmod wsgi, чтобы включить его.

Как быстрый пример, чтобы запустить его, введите что-то подобное в /etc/apache2/sites-enabled/default:

WSGIScriptAlias /test /path/to/python/file.py

И в файле /path/to/python/file.py:

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return "Hello World"

После повторного запуска Apache2 любой запрос /test превратится в вызов application() в вашем файле python. [!d3 ]

Для дальнейшего чтения просмотрите WSGI (интерфейс веб-сервера WebServer), как Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижнюю часть вашего файла, вы можете запустить его как любой старый исполняемый файл для тестирования, а затем позволить Apache взять на себя производство:

if __name__ == '__main__':
    from wsgiref.simple_server import make_server

    httpd = make_server('', 8080, application)
    print "Serving on http://localhost:8080"

    httpd.serve_forever()
17
ответ дан 25 May 2018 в 22:41
  • 1
    Я получил следующее сообщение об ошибке из журнала apache. Насколько я могу судить, он думает, что это не получается. – Vallery 6 March 2011 в 05:08
  • 2
    [Сб Мар 05 17:06:14 2011] [ошибка] [клиент 127.0.0.1] mod_wsgi (pid = 2844): Исключение произошло при обработке сценария WSGI '/var/www/file.py'. [Sat Mar 05 17:06:14 2011] [error] [клиент 127.0.0.1] Traceback (последний последний звонок): [Сб Мар 05 17:06:14 2011] [ошибка] [клиент 127.0.0.1] Файл " ; /var/www/file.py" ;, строка 2, в приложении [Sat Mar 05 17:06:14 2011] [ошибка] [клиент 127.0.0.1] start_response (200, [('Content-Type', 'text / plain ')]) [Sat Mar 05 17:06:14 2011] [error] [client 127.0.0.1] TypeError: ожидаемый байтовый строковый объект для статуса, значение типа int найдено – Vallery 6 March 2011 в 05:08
  • 3
    Ах. Виноват. Я привык к фреймворкам, которые делают для меня все сложное дело;). Я обновил 200 до '200 OK' за python.org/dev/peps/pep-0333 – Morten Siebuhr 7 March 2011 в 19:20
  • 4
    Отлично, это работает. Последний вопрос: как мне отобразить его в html? Мой браузер показывает возврат в текстовом виде, игнорируя разметку. – Vallery 8 March 2011 в 02:50
  • 5
    Подождите, получилось: измените текст / plain на текст / html. – Vallery 8 March 2011 в 02:52

mod_python в основном не поддерживается - вы должны изучить mod_wsgi. Установите пакет libapache2-mod-wsgi, затем введите sudo a2enmod wsgi, чтобы включить его.

Как быстрый пример, чтобы запустить его, введите что-то подобное в /etc/apache2/sites-enabled/default:

WSGIScriptAlias /test /path/to/python/file.py

И в файле /path/to/python/file.py:

def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) return "Hello World"

После повторного запуска Apache2 любой запрос /test превратится в вызов application() в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс веб-сервера WebServer), как Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижнюю часть вашего файла, вы можете запустить его как любой старый исполняемый файл для тестирования, а затем позволить Apache взять на себя производство:

if __name__ == '__main__': from wsgiref.simple_server import make_server httpd = make_server('', 8080, application) print "Serving on http://localhost:8080" httpd.serve_forever()
17
ответ дан 25 July 2018 в 22:24

mod_python в основном не поддерживается - вы должны изучить mod_wsgi. Установите пакет libapache2-mod-wsgi, затем введите sudo a2enmod wsgi, чтобы включить его.

Как быстрый пример, чтобы запустить его, введите что-то подобное в /etc/apache2/sites-enabled/default:

WSGIScriptAlias /test /path/to/python/file.py

И в файле /path/to/python/file.py:

def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) return "Hello World"

После повторного запуска Apache2 любой запрос /test превратится в вызов application() в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс веб-сервера WebServer), как Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижнюю часть вашего файла, вы можете запустить его как любой старый исполняемый файл для тестирования, а затем позволить Apache взять на себя производство:

if __name__ == '__main__': from wsgiref.simple_server import make_server httpd = make_server('', 8080, application) print "Serving on http://localhost:8080" httpd.serve_forever()
17
ответ дан 31 July 2018 в 10:42

mod_python в основном не поддерживается - вы должны изучить mod_wsgi. Установите пакет libapache2-mod-wsgi, затем введите sudo a2enmod wsgi, чтобы включить его.

Как быстрый пример, чтобы запустить его, введите что-то подобное в /etc/apache2/sites-enabled/default:

WSGIScriptAlias /test /path/to/python/file.py

И в файле /path/to/python/file.py:

def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) return "Hello World"

После повторного запуска Apache2 любой запрос /test превратится в вызов application() в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс веб-сервера WebServer), как Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижнюю часть вашего файла, вы можете запустить его как любой старый исполняемый файл для тестирования, а затем позволить Apache взять на себя производство:

if __name__ == '__main__': from wsgiref.simple_server import make_server httpd = make_server('', 8080, application) print "Serving on http://localhost:8080" httpd.serve_forever()
17
ответ дан 31 July 2018 в 11:46

mod_python в основном не поддерживается - вы должны изучить mod_wsgi. Установите пакет libapache2-mod-wsgi, затем введите sudo a2enmod wsgi, чтобы включить его.

Как быстрый пример, чтобы запустить его, введите что-то подобное в /etc/apache2/sites-enabled/default:

WSGIScriptAlias /test /path/to/python/file.py

И в файле /path/to/python/file.py:

def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) return "Hello World"

После повторного запуска Apache2 любой запрос /test превратится в вызов application() в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс веб-сервера WebServer), как Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижнюю часть вашего файла, вы можете запустить его как любой старый исполняемый файл для тестирования, а затем позволить Apache взять на себя производство:

if __name__ == '__main__': from wsgiref.simple_server import make_server httpd = make_server('', 8080, application) print "Serving on http://localhost:8080" httpd.serve_forever()
17
ответ дан 2 August 2018 в 03:50

mod_python в основном не поддерживается - вы должны изучить mod_wsgi. Установите пакет libapache2-mod-wsgi, затем введите sudo a2enmod wsgi, чтобы включить его.

Как быстрый пример, чтобы запустить его, введите что-то подобное в /etc/apache2/sites-enabled/default:

WSGIScriptAlias /test /path/to/python/file.py

И в файле /path/to/python/file.py:

def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) return "Hello World"

После повторного запуска Apache2 любой запрос /test превратится в вызов application() в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс веб-сервера WebServer), как Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижнюю часть вашего файла, вы можете запустить его как любой старый исполняемый файл для тестирования, а затем позволить Apache взять на себя производство:

if __name__ == '__main__': from wsgiref.simple_server import make_server httpd = make_server('', 8080, application) print "Serving on http://localhost:8080" httpd.serve_forever()
17
ответ дан 4 August 2018 в 19:54

mod_python в основном не поддерживается - вы должны изучить mod_wsgi . Установите пакет libapache2-mod-wsgi , затем выпустите sudo a2enmod wsgi , чтобы включить его.

Как быстрый пример, чтобы запустить его, что-то вроде этого в вашем / etc / apache2 / sites-enabled / default :

  WSGIScriptAlias ​​/ test /path/to/python/file.py   

И в файле /path/to/python/file.py :

  def application (environ, start_response): start_response ('  200 OK ', [(' Content-Type ',' text / plain ')]) return "Hello World"  

После повторного запуска Apache2 любой запрос на / test превратится в вызов application () в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс шлюза WebServer), кнопку [ ! d11] путь Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижней части своего файла, вы можете запустить его как любой старый исполняемый файл для целей тестирования, а затем позволить Apache взять на себя производство:

 , если __name__ == '__main__':  from wsgiref.simple_server import make_server httpd = make_server ('', 8080, application) print "Обслуживание на http: // localhost: 8080" httpd.serve_forever ()  
17
ответ дан 6 August 2018 в 03:57

mod_python в основном не поддерживается - вы должны изучить mod_wsgi . Установите пакет libapache2-mod-wsgi , затем выпустите sudo a2enmod wsgi , чтобы включить его.

Как быстрый пример, чтобы запустить его, что-то вроде этого в вашем / etc / apache2 / sites-enabled / default :

  WSGIScriptAlias ​​/ test /path/to/python/file.py   

И в файле /path/to/python/file.py :

  def application (environ, start_response): start_response ('  200 OK ', [(' Content-Type ',' text / plain ')]) return "Hello World"  

После повторного запуска Apache2 любой запрос на / test превратится в вызов application () в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс шлюза WebServer), кнопку [ ! d11] путь Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижней части своего файла, вы можете запустить его как любой старый исполняемый файл для целей тестирования, а затем позволить Apache взять на себя производство:

 , если __name__ == '__main__':  from wsgiref.simple_server import make_server httpd = make_server ('', 8080, application) print "Обслуживание на http: // localhost: 8080" httpd.serve_forever ()  
17
ответ дан 7 August 2018 в 21:55

mod_python в основном не поддерживается - вы должны изучить mod_wsgi . Установите пакет libapache2-mod-wsgi , затем выпустите sudo a2enmod wsgi , чтобы включить его.

Как быстрый пример, чтобы запустить его, что-то вроде этого в вашем / etc / apache2 / sites-enabled / default :

  WSGIScriptAlias ​​/ test /path/to/python/file.py   

И в файле /path/to/python/file.py :

  def application (environ, start_response): start_response ('  200 OK ', [(' Content-Type ',' text / plain ')]) return "Hello World"  

После повторного запуска Apache2 любой запрос на / test превратится в вызов application () в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс шлюза WebServer), кнопку [ ! d11] путь Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижней части своего файла, вы можете запустить его как любой старый исполняемый файл для целей тестирования, а затем позволить Apache взять на себя производство:

 , если __name__ == '__main__':  from wsgiref.simple_server import make_server httpd = make_server ('', 8080, application) print "Обслуживание на http: // localhost: 8080" httpd.serve_forever ()  
17
ответ дан 10 August 2018 в 10:09

mod_python в основном не поддерживается - вы должны изучить mod_wsgi . Установите пакет libapache2-mod-wsgi , затем выпустите sudo a2enmod wsgi , чтобы включить его.

Как быстрый пример, чтобы запустить его, что-то вроде этого в вашем / etc / apache2 / sites-enabled / default :

  WSGIScriptAlias ​​/ test /path/to/python/file.py   

И в файле /path/to/python/file.py :

  def application (environ, start_response): start_response ('  200 OK ', [(' Content-Type ',' text / plain ')]) return "Hello World"  

После повторного запуска Apache2 любой запрос на / test превратится в вызов application () в вашем файле python.

Для дальнейшего чтения просмотрите WSGI (интерфейс шлюза WebServer), кнопку [ ! d11] путь Python интегрируется с веб-серверами.

Бонус / обновление:

Python (неудивительно) имеет небольшой сервер WSGI в стандартной библиотеке для тестирования. Если вы добавите это в нижней части своего файла, вы можете запустить его как любой старый исполняемый файл для целей тестирования, а затем позволить Apache взять на себя производство:

 , если __name__ == '__main__':  from wsgiref.simple_server import make_server httpd = make_server ('', 8080, application) print "Обслуживание на http: // localhost: 8080" httpd.serve_forever ()  
17
ответ дан 13 August 2018 в 16:31
  • 1
    Я получил следующее сообщение об ошибке из журнала apache. Насколько я могу судить, он думает, что это не получается. – Vallery 6 March 2011 в 05:08
  • 2
    [Сб Мар 05 17:06:14 2011] [ошибка] [клиент 127.0.0.1] mod_wsgi (pid = 2844): Исключение произошло при обработке сценария WSGI '/var/www/file.py'. [Sat Mar 05 17:06:14 2011] [error] [клиент 127.0.0.1] Traceback (последний последний звонок): [Сб Мар 05 17:06:14 2011] [ошибка] [клиент 127.0.0.1] Файл & quot; ; /var/www/file.py" ;, строка 2, в приложении [Sat Mar 05 17:06:14 2011] [ошибка] [клиент 127.0.0.1] start_response (200, [('Content-Type', 'text / plain ')]) [Sat Mar 05 17:06:14 2011] [error] [client 127.0.0.1] TypeError: ожидаемый байтовый строковый объект для статуса, значение типа int найдено – Vallery 6 March 2011 в 05:08
  • 3
    Ах. Виноват. Я привык к фреймворкам, которые делают для меня все сложное дело;). Я обновил 200 до '200 OK' за python.org/dev/peps/pep-0333 – Morten Siebuhr 7 March 2011 в 19:20
  • 4
    Отлично, это работает. Последний вопрос: как мне отобразить его в html? Мой браузер показывает возврат в текстовом виде, игнорируя разметку. – Vallery 8 March 2011 в 02:50
  • 5
    Подождите, получилось: измените текст / plain на текст / html. – Vallery 8 March 2011 в 02:52

Другие вопросы по тегам:

Похожие вопросы: