Загрузка...

How to put python script/bot on VDS/VPS server

Thread in Python created by Djimbo Dec 11, 2020. (bumped Sep 22, 2024) 49,091 view

  1. Djimbo
    Djimbo Topic starter Dec 11, 2020 :downhand:
    [BEST] Bot Autosales | Telegram Shop
    :uphand:
    13,748 Jun 23, 2017
    Многие имея на руках всяких ботов, не знают как их поставить на VDS/VPS сервер, чтобы они работали 24/7.

    Для примера будем использовать хостинг AEZA
    (реферальная ссылка со скидкой | оригинальная ссылка без скидки)
    Вы можете использовать любой другой хостинг. Суть у всех одна.
    1. Регистрируем аккаунт и арендуем VDS/VPS сервер.
    -Переходим в раздел Виртуальные серверы и жмём Заказать
    -Выбираем любой понравившийся сервер. Можно и самый дешёвый
    -Указываем любое доменное имя
    -В пункте ОС выбираем Ubuntu 22.04
    -После ввода всех данные отправляем сервер В корзину
    -Оплачиваем и ждём установки сервера

    2. После оформления и оплаты заказа, переходим в свой сервер и выписываем следующие данные.
    -Переходим в раздел Мои услуги
    -Выбираем ранее арендованный сервер и открываем его
    -Выписываем следующие данные:
    IP-адрес сервера
    Имя пользователя
    Пароль

    3. Скачиваем и устанавливаем программу PuTTY (официальный сайт).

    4. Теперь есть две вариации установки скриптов на сервер.
    4.1. Скачиваем и устанавливаем программу MobaXterm (официальный сайт).

    4.2. Нажимаем "Session", "SSH", в "Remote host" указываем Имя хоста(айпи) и жмём "OK".

    4.3. Возле текста "login as" вводим Имя пользователя, далее вводим Пароль и подключаемся к серверу.

    4.4. Перемещаем папку с вашим скриптом/ботом в левое окно.

    [IMG]
    4.1. Скачиваем и устанавливаем программу WinSCP (официальный сайт).

    4.2. Открываем "Параметры", "Настройки", "Интеграция-Программы", указываем путь к установленному раннее PuTTy и ставим галочки на "Помнить пароль сессии и передавать его PuTTy (SSH)" и "Открывать telnet-сессии в PuTTy для сессий FTP".

    4.4. Нажимаем на "Новое соединение", далее "Новое подключение", указываем Имя хоста(айпи), Имя пользователя, Пароль и жмём "Войти".

    4.3. Перемещаем папку с вашим скриптом/ботом в правое окно.

    [IMG]


    4.5. Жмём на кнопку открытия PuTTy окна.

    [IMG]
    4.1. Скачиваем и устанавливаем программу FileZilla (официальный сайт)

    4.2. Указываем Хост(sftp://ВашАйпи), Имя пользователя, Пароль и жмём "Быстрое соединение".

    [IMG]


    4.3. Перемещаем папку с вашим скриптом/ботом в правое окно.

    [IMG]


    4.4. Открываем ранее установленную программу PuTTY.

    4.5. После запуска, в поле "Host Name (or ip address)" указываем ранее полученный наш Айпи адрес и нажимаем "Open".

    [IMG]


    4.6. После открытия консоли, вводим своё Имя пользователя(login as) и Пароль(password). (При вводе пароля, символы не будут отображаться, не пугайтесь)

    [IMG]
    [IMG]
    5. Теперь необходимо установить необходимые утилиты, сам питон и нужные библиотеки.

    (вместо python3.9, можете указать нужную вам версию питона)
    Code

    sudo apt-get update -y&& sudo apt-get upgrade -y&& sudo apt-get install curl -y
    bash <(curl -s https://raw.githubusercontent.com/djimboy/djimboy/main/dj_install.sh)
    Code

    sudo apt-get update
    sudo apt-get upgrade -y (если вылезет окно, жмём enter)
    sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev curl software-properties-common -y
    sudo apt install software-properties-common
    sudo add-apt-repository ppa:deadsnakes/ppa (если вылезет окно, жмём enter)
    sudo apt-get install screen -y
    sudo apt-get install python3.10 -y
    sudo apt-get install python3-pip -y
    sudo apt-get install python3.10-dev -y
    sudo apt-get install python3.10-distutils -y
    python3.10 -m pip install pip --upgrade
    python3.10 -m pip install distlib --upgrade
    python3.10 -m pip install setuptools --upgrade

    Библиотеки для питона устанавливаем так
    Code
    python3.10 -m pip install НазваниеБиблиотеки
    Если имеется файл requirements.txt, то устанавливаем так:
    Code
    python3.10 -m pip install -r requirements.txt


    6. Запуск скрипта.
    -Чтобы скрипт работал 24/7 и не выключался, нам нужно использовать раннее установленную утилиту screen.
    Вводим команду
    screen -S ЛюбоеНазваниеСессии и жмём Enter. После открытия окна screen, переходим в директорию со скриптом и прописываем:

    ⁡python3.10 main.py

    -Скрипт запущен. Чтобы свернуть окно screen, нажмите кнопки: CTRL + A + D
    -Теперь можете смело закрывать PuTTy окно.


    7. Скрипт успешно запущен.

    В - Вопрос | О - Ответ

    В: Как остановить/перезагрузить скрипт?
    О: Прописываем команду screen -ls и получаем список скринов. Слева указаны айди скринов. Прописываем screen kill АйдиСкрина. Далее запускаем новый скрин по инструкции выше.

    В: При попытке подключения к screen'у пишет "There is no screen to be resumed matching".
    О: Используйте screen -xr АйдиСкрина, вместо screen -r АйдиСкрина.

    В: Как свернуть активный screen или выйти в главное меню?
    О: Нажимаем сочетание клавиш CTRL + A + D.

    В: Хочу установить несколько скриптов.
    О: Выходим в главное меню если мы находимся в уже открытом screen'е. Прописываем команду screen -S ЛюбоеНазваниеСессии для открытия нового screen окна и запускаем свой скрипт.


    при ошибках и опечатках, просьба сообщать :)
     
  2. infinityjq
    Годно, чел)
    Но я бы взял msk.host, а так ништяк.
     
    1. View previous comments (13)
    2. dvjoker
      avatarNET, ( python3 main.py & ) в конце команды ставь символ и бот запустится в фоновом режиме пока дедик не упадет или пока сам его не перезапустишь.
    3. ZeN
  3. ИроничныйЧёрт
    Мерси
     
  4. Pcholken
    Можно легче, просто pip3 install <пакет>
     
    1. Djimbo Topic starter
      avatarPcholken, Можно и так, если стоит одна версия питона)
      Но на серверах зачастую используют разные, тк разные скрипты требуют разные версии.
    2. Pcholken
      avatarDjimbo, По стандарту в линуксе есть только 2 версии питона 2.7 и последняя 3 версии, (сейчас на убунту 3.8.6)
    3. Djimbo Topic starter
      avatarPcholken, Бывает что нужна не самая последняя версия, а определённая
    4. View the next comments (1)
  5. georgioitem
    а библиотеки типа bs4 и дискорд сккачивать не надо?
     
    1. Djimbo Topic starter
      avatargeorgioitem, Надо. Выше я показал как устанавливать библиотеки.
  6. whom
    whom Jan 12, 2021 Качественная разработка lolz.live/threads/7145903
    Почему ты не используешь systemd? Отличный и простой демонайзер, да еще и рестартит твой скрипт при ошибках, кайф же ну....
     
  7. fivon708
    Лучше всего каждый скрипт запускать в своем виртуальном окружении.
    Для каждого скрипта будут установлены свои библиотеки, они не будут конфликтовать друг с другом.
    Например, если скрипт № 1 работает на библиотеке старой версии, а скрипту № 2 нужна точно такая же, но новой версии.
    Без использования вирт. окружения вы не сможете установить одну и ту же библиотеку 2-х разных версий.

    Чтобы установить вирт. окружение, заходим в директорию где мы планируем разместить наш скрипт и вводим команды:

    sudo pip3.7 install virtualenv
    python3 -m venv venv

    Запускаем виртуальное окружение:

    source venv/bin/activate

    Чтобы скрипт при падении сервера или после ошибки запускался по новой можно установить supervisor
    Хорошая статья по установке и настройки supervisor для Centos https://stackoverflow.com/questions...on-centos-7-to-run-laravel-queues-permanently
    Для других ОС тоже легко гуглится.

    Сразу все необходимые библиотеки можно устанавливать одной командой из файла:

    pip install -r requirements.txt
     
  8. Kanade
    Я конечно хуй знает, проще дедик амазона за 1$ на год взять и делать там что хочешь, а не платить 111₽/месяц:roflanBuldiga:
     
    1. Djimbo Topic starter
      avatarKanade , Лучше тогда от Микрософта. У Амазона траблов много)
      $yku 5 аккаунтов заморозили. Да и дедики у них слабые.
  9. valeriagood
    Авторку ему
     
  10. kanokido
    kanokido Feb 15, 2021 Отпускаю грехи по IP 111 Aug 15, 2017
    ты золотой человек, спасибо)
     
  11. Relax
    Прекрасный бот, Djimbo помог с установкой, даже на самые глупые вопросы давал ответы :)
    Спасибо! Годная тема
     
  12. JimmyDean
    ля, лучший чел, решил мои траблы с запуском:froglove::froglove::froglove:+rep
     
  13. slesar322
    Можешь помочь я тебе написал в сообщения
     
  14. Thanatophobia
    за ******* панель бан прилетит?
     
    1. Djimbo Topic starter
      avatarThanatophobia, Да за ботов вроде баны не прилетают.
      Просто делай иногда бэкапы)
  15. YevGen213
    YevGen213 Mar 21, 2021 2 Nov 16, 2020
    У меня Кали Линукс, могу просто на своем пк запустить и мозги не парить.
     
    1. YWerts
      avatarYevGen213, да хоть на винде или малинке
  16. Bloggervat
    Bloggervat Mar 29, 2021 0 Mar 29, 2021
    А что делать если выдает ошибку в CMD ssh: connect to host MY IP port 22: Connection timed out
     
    1. Djimbo Topic starter
      avatarBloggervat, Подключись тогда через FTP
    2. Bloggervat
      avatarDjimbo, а через фтп не получается ( не кидается файл + нету папки root)
  17. VasyaUndetected
    [IMG]


    avatarDjimbo ТОП!

    Быстро объяснил что делать, и довёл до того что я всё понял и бот запустился ♥
     
  18. maytay1024
    магаз топ, крч спасибо))))))
     
  19. YAYKI
    YAYKI May 2, 2021 Трафик в ТГ:
    Telegram: Launch @subgram_officialbot
    1,814 Aug 12, 2020
    [IMG] Во такая залупа
     
    1. Djimbo Topic starter
      avatarYAYKI, Неверный логин или пароль
    2. YAYKI
      avatarDjimbo, Уже понял. Нашел верные, но все равно не может подключиться
    3. YAYKI
      avatarDjimbo, а все заработало
  20. EgorOreex
    EgorOreex May 13, 2021 Banned 4 May 8, 2021
    Плмогите, при установке питона просит подтверждение установки [Y/n]. Писал и y и Y и YES и yes. Выдаёт аборт
     
Loading...