Как запустить программу на python на сервере

Веб-сервер Apache широко используется многими веб-сайтами и организациями. Как правило, веб-сервер Apache используется для выполнения PHP-скриптов. Но иногда вам может понадобиться запустить скрипты python на веб-сервере Apache. В этой статье мы узнаем, как запустить скрипт python на веб-сервере Apache.

Как запустить скрипт Python на веб-сервере Apache

Ниже описаны шаги для запуска скрипта python на веб-сервере Apache.

1. Установите Python

Загрузите и установите python с веб-сайта, если вы используете Windows. После загрузки программы установки дважды щелкните по ней, чтобы запустить, и вы увидите мастер установки. Следуйте инструкциям, чтобы установить Python. Запомните место установки, так как оно понадобится вам позже. Если вы используете Linux, python уже установлен по умолчанию, и вам не нужно ничего делать.

В Linux выполните следующую команду, чтобы узнать место установки python

locate python

2. Редактирование конфигурации Apache

Откройте файл конфигурации Apache в текстовом редакторе. Ниже перечислены возможные расположения файла конфигурации в зависимости от вашей операционной системы.

Уроки Python / Запуск на сервере по расписанию

  • /etc/apache2/httpd.conf
  • /etc/apache2/apache2.conf
  • /etc/httpd/httpd.conf
  • /etc/httpd/conf/httpd.conf
  • C:Program FilesApache GroupApacheconfhttpd. conf

Найдите следующую строку.

Options Indexes FollowSymLinks

Добавьте ExecCGI к этой строке.

Options Indexes FollowSymLinks ExecCGI

Далее найдите следующую строку.

#AddHandler cgi-script .cgi

Откомментируйте ее, удалив # в начале строки.

AddHandler cgi-script .cgi

И добавьте .py в конце строки.

AddHandler cgi-script .cgi .py

Чтобы выполнять скрипты python в Apache, необходимо использовать модуль Apache, подобный модулю CGI. Поэтому назначьте модуль cgi-script в качестве обработчика для файлов .py (python-скриптов).

Сохраните и закройте файл.

3. Перезапустите Apache

Перезапустите сервер Apache, чтобы применить изменения.

Пуск -> Все программы -> Apache . -> пункт меню Управление сервером Apache

Читайте также:
Как скачивать программы для linux

service apache2 restart

4. Запуск сценария Python на Apache

Создайте новый файл и добавьте в него следующий код python.

#!/usr/bin/python print «Content-type: text/html» print print «» print «» print «» print «Hello.» print «»

Сохраните этот файл под именем test.py в папке htdocs в каталоге установки Apache. Откройте веб-браузер и зайдите на хост apache (и :port, если порт не 80), а затем на test.py. Например,

Вы должны увидеть сообщение ‘Hello.’.

Заключение

В этой статье мы узнали, как запускать скрипты python на сервере Apache. Вы можете использовать этот подход для запуска других скриптов, таких как Ruby, Perl в python. Хитрость заключается в установке и включении модуля Apache, отвечающего за выполнение этих скриптов.

Похожие записи:

  1. Как отслеживать системные метрики в реальном времени с помощью инструмента Glances в Linux
  2. Установка GTK+ в Ubuntu или Debian
  3. Основы ведения журналов Linux
  4. Apache установка mod_dnsbl
  5. Вывод даты и времени в Linux
  6. Как установить Mono в Debian Linux
  7. Как создавать документы в Ubuntu

Источник: g-soft.info

Уроки Python / Запуск кода на сервере

Настройка NGINX + uWSGI для Python на Ubuntu

Обновлено и опубликовано

Опубликовано: 20.07.2021

Используемые термины: NGINX, uWSGI, Python, Ubuntu. В нашей инструкции будет рассмотрена настройка веб-сервера для поддержки приложений, разработанных на языке Python. Руководство рассчитано для операционных систем семейства Deb (Ubuntu, Debian, Mint).

Запуск uWSGI приложения

Устанавливаем python и дополнительные компоненты:
apt-get update
apt-get install python3 python3-dev python3-pip

  • python3 — сам python третьей версии.
  • python3-dev — стандартный набор библиотек. Нужен для установки и сборки дополнительных модулей.
  • python3-pip — система управления пакетами для python.

Устанавливаем дополнительные пакеты для python:

* в данном примере мы все запросы переводим на файл wsgi.py с передачей в качестве аргументов строки запроса. Все запросы передадутся на uWSGI через сокетный файл wsgi.sock, находящийся в каталоге нашего проекта.

Проверим корректность настройки nginx:

systemctl restart nginx

Источник: www.dmosk.ru

Как запустить программу на python на сервере

В статье содержится руководство по первичной настройке инфраструктуры сервера для хостинга web–сайтов на основе Debian 11, разработанных с использованием Python.
Получаемое окружение предназначено для использования в процессе разработки, но, с некоторыми оговорками, может использоваться и в production–режиме.

  1. сайт, размещаемый на сервере имеет название mysite.com ;
  2. команды начинающиеся с символа # выполняются с root –правами;
  3. читатель обладает базовыми знаниями о Linux и предназначении используемого ПО, а также может самостоятельно восполнить пробелы из документации; в связи с этим в тексте опущены пояснения «очевидных» моментов.
Читайте также:
Программа что быть оффлайн ВК

Обновление дистрибутива, локаль и пользователь

При первом подключении к серверу необходимо.

  1. Обновить пакеты дистрибутива:

# apt-get update; apt-get upgrade

  1. Добавить русскоязычную локаль:

# dpkg-reconfigure locales

В появившемся окне выбора локалей и их кодировок нужно выбрать en-us.UTF-8 и ru_RU.UTF-8 . По умолчанию ставим en-us.UTF-8 .

  1. Перезагрузить сервер:

# reboot

  1. Добавить пользователя admin , от имени которого будут запускаться приложения:

# adduser admin

ssh

Для доступа по ssh будет использоваться сертификат, поэтому если его нет, нужно предварительно его создать.

После получения сертификата в /home/admin :

mkdir .ssh cd .ssh nano authorized_keys

В открывшемся редакторе вставляем публичную часть ключа пользователя, которая выглядит примерно так:

Далее редактируем конфигурационный файл демона ssh:

# nano /etc/ssh/sshd_config

Минимальное содержимое конфига:

AuthorizedKeysFile .ssh/authorized_keys ClientAliveCountMax 10000 ClientAliveInterval 60 PasswordAuthentication no PermitRootLogin no PubkeyAuthentication yes Subsystem sftp /usr/lib/openssh/sftp-server TCPKeepAlive yes UsePAM yes
# systemctl restart ssh

Если все сделано правильно и ssh–клиент настроен корректно, можно отключиться от сервера и переподключиться с использованием сертификата.

Смена имени хоста

Ясно определенное имя хоста (например, mysite.com ) отображается в приглашении консоли и, когда консолей много, снижает риск выполнения каких-либо команд не на той машине.

Для изменения имени необходимо отредактировать файл hostname :

# nano /etc/hostname

В открывшемся редакторе пишем новое имя хоста.

После перезагрузки сервера в приглашении консоли появится новое имя.

TLS сертификат

Для получения валидного TLS–сертификата можно воспользоваться утилитой Certbot от сервиса Let’s Encrypt.

Документация по установке находится на официальном сайте.

Для корректной работы сайта необходимо получить сертификат на домен mysite.com :

certbot certonly —standalone -d mysite.com

nginx

Документация по установке находится на официальном сайте.

После установки нужно удалить конфигурационный файл по умолчанию и создать конфигурационный файл сайта /etc/nginx/conf.d/mysite.com.conf :

Читайте также:
Лучшая программа для пресса из всех

# cd /etc/nginx/conf.d # rm -rf default.conf # nano mysite.com.conf
# Обработка 80-го порта для домена mysite.com. server < listen 80; server_name mysite.com; return 301 https://mysite.com$request_uri; ># 443 порт для mysite.com. server < listen 443 ssl http2; server_name mysite.com; # Пути к используемым сертификатам. ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # Логирование запросов. access_log /var/log/nginx/mysite.com_access.log combined; error_log /var/log/nginx/mysite.com_error.log error; # Проксирование всех запросов на локальный порт 8000. location / < proxy_http_version 1.1; proxy_pass http://127.0.0.1:8000; >>

Обратите внимание, что описанная конфигурация:

  1. предполагает использование сайта только по SSL;
  2. Для проксирования запросов от сайта используется порт 8000, который будет указан позже в конфигурации gunicorn.

После проверки конфигурационного файла с помощью команды:

# nginx -t

сервер необходимо запустить командой:

# systemctl start nginx

Python

Для установки и управления нужными версиями Python используется pyenv .

Документация по установке находится на официальном сайте. В случае с сервером рекомендуется установить pyenv с помощью pyenv-installer для пользователя admin .

После установки pyenv необходимо обновить переменные окружения для используемого терминала и установить зависимости для сборки Python.

После установки зависимостей нужную версию Python можно установить командой:

pyenv install X.Y

где X.Y — версия Python, например 3.11 .

Напоследок нужную версию Python нужно сделать глобальной:

pyenv global X.Y

Служба systemd для gunicorn

Gunicorn — WSGI HTTP–сервер для запуска приложений, созданных на Python. Используется в качестве прослойка между nginx и приложением cайта.

Прежде всего необходимо установить gunicorn. Сделать это можно в виртуальном окружении вашего проекта:

(venv) $ pip install gunicorn

Далее создаем директории и файл службы для systemd:

mkdir -p ~/.config/systemd/user nano ~/.config/systemd/user/gunicorn.service

Содержимое ~/.config/systemd/user/gunicorn.service (предполагается, что приложение сайта находится в папке /home/admin/mysite.com ):

[Unit] After=network.target Description=gunicorn daemon [Service] WorkingDirectory=/home/admin/mysite.com/ ExecStart=/home/admin/venv/bin/gunicorn -b 127.0.0.1:8000 mysite.wsgi:application Restart=always [Install] WantedBy=multi-user.target
systemctl —user enable gunicorn.service
systemctl —user start gunicorn.service

Важно!
Systemd останавливает все службы пользователя после закрытия последней сессии.
Таким образом после закрытия всех соединений с сервером gunicorn перестанет работать.
Чтобы подобного не происходило, нужно выполнить следующую команду от имени root :

# loginctl enable-linger admin

PostgreSQL

Руководство по установке на официальном сайте.

Источник: devmems.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru