{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Евгений Лукин: заметки с тегом VPS",
    "_rss_description": "Заметки, конспекты",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/evgenylukin.ru\/blog\/tags\/vps\/",
    "feed_url": "https:\/\/evgenylukin.ru\/blog\/tags\/vps\/json\/",
    "icon": "https:\/\/evgenylukin.ru\/blog\/user\/userpic@2x.jpg?1601030084",
    "author": {
        "name": "Евгений Лукин",
        "url": "https:\/\/evgenylukin.ru\/blog\/",
        "avatar": "https:\/\/evgenylukin.ru\/blog\/user\/userpic@2x.jpg?1601030084"
    },
    "items": [
        {
            "id": "80",
            "url": "https:\/\/evgenylukin.ru\/blog\/all\/konfig-dlya-avtomaticheskogo-zapuska-programm-na-servere\/",
            "title": "Конфиг для автоматического запуска программ на сервере",
            "content_html": "<p><a href=\"https:\/\/bitbucket.org\/vkasatkin\/tele_bot\/src\/master\/ubuntu18\/\">https:\/\/bitbucket.org\/vkasatkin\/tele_bot\/src\/master\/ubuntu18\/<\/a><\/p>\n",
            "date_published": "2022-05-11T20:27:47+03:00",
            "date_modified": "2022-05-11T20:27:44+03:00",
            "_date_published_rfc2822": "Wed, 11 May 2022 20:27:47 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "80",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "77",
            "url": "https:\/\/evgenylukin.ru\/blog\/all\/nastroit-dostup-na-vps-po-ssh\/",
            "title": "Настраиваем простой VPS",
            "content_html": "<p>После регистрации VPS подключаемся от имени администратора root и создаём нового пользователя:<br \/>\n<a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/initial-server-setup-with-ubuntu-20-04-ru\">Начальная настройка сервера с помощью Ubuntu 20.04<\/a><br \/>\nНастраиваем доступ по SSH, чтобы каждый раз при подключении не вводить пароль:<br \/>\n<a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-set-up-ssh-keys-on-ubuntu-20-04\">Как настроить ключи SSH в Ubuntu 20.04<\/a><br \/>\nТеперь можем настроить выполнение скриптов по расписанию на нашем сервере:<br \/>\n<a href=\"https:\/\/evgenylukin.ru\/blog\/all\/zapuskaem-python-skript-s-pomoschyu-cron-na-linux\/\">Запускаем Python-скрипт с помощью Cron на Linux<\/a><\/p>\n",
            "date_published": "2021-12-09T11:08:29+03:00",
            "date_modified": "2022-08-14T10:32:58+03:00",
            "_date_published_rfc2822": "Thu, 09 Dec 2021 11:08:29 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "77",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "76",
            "url": "https:\/\/evgenylukin.ru\/blog\/all\/zapuskaem-python-skript-s-pomoschyu-cron-na-linux\/",
            "title": "Запускаем Python-скрипт с помощью Cron на Linux",
            "content_html": "<p>#Подготавливаем сервер и переносим на него проект<\/p>\n<ol start=\"1\">\n<li>Создаём или обновляем файл с зависимостями<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">pip freeze &gt; requirements.txt<\/code><\/pre><ol start=\"2\">\n<li>Создаём папку для приложения на сервере<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">mkdir ikea\r\ncd ikea<\/code><\/pre><ol start=\"3\">\n<li>Устанавливаем виртуальное окружение<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">virtualenv -p python3 venv<\/code><\/pre><p>если модуль не установлен, устанавливаем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">pip3 install virtualenv<\/code><\/pre><ol start=\"4\">\n<li>Копируем файлы в папку приложения. Папку со скриптом и requirements.txt<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">scp \/mnt\/c\/Users\/Дарья\/YandexDisk\/Python Projects\/ikea\/requirements.txt user@11.22.33.44:\/home\/lukin\/projects\/ikea\/<\/code><\/pre><p>Для копирования папки целиком указываем параметр <i>-r<\/i><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">scp -r \/mnt\/c\/Users\/Дарья\/YandexDisk\/Python Projects\/ikea\/ikea user@11.22.33.44:\/home\/lukin\/projects\/ikea\/<\/code><\/pre><p>Если надо переименовать папку<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mv староеимя новоеимя<\/code><\/pre><ol start=\"5\">\n<li>Активируем виртуальное окружение и устанавливаем зависимости<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">source venv\/bin\/activate<\/code><\/pre><pre class=\"e2-text-code\"><code class=\"\">pip install -r requirements.txt<\/code><\/pre><p>#Настраиваем расписание<\/p>\n<ol start=\"1\">\n<li>Открываем планировщик<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">crontab -e<\/code><\/pre><ol start=\"2\">\n<li>Задаём расписание. Расписание можно сгенерировать, например на cronmaker.com<\/li>\n<\/ol>\n<pre class=\"e2-text-code\"><code class=\"\">0 *\/1 * * * cd \/home\/lukin\/projects\/ikea\/ikea &amp;&amp; \/home\/lukin\/projects\/ikea\/venv\/bin\/python3 ikea_app.py<\/code><\/pre><p>или<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">* * * * * \/bin\/bash -c 'source \/home\/lukin\/projects\/realty\/venv\/bin\/activate;cd \/home\/lukin\/projects\/realty &amp;&amp; python3 ikea_app.py'<\/code><\/pre><p>#Как понять что Cron срабатывает?<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">tail \/var\/log\/syslog # получаем &quot;хвост&quot;, последние 10 строк лог-файла<\/code><\/pre>",
            "date_published": "2021-12-09T09:37:17+03:00",
            "date_modified": "2022-09-28T12:06:32+03:00",
            "_date_published_rfc2822": "Thu, 09 Dec 2021 09:37:17 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "76",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "69",
            "url": "https:\/\/evgenylukin.ru\/blog\/all\/dostup-k-faylam-na-vps-cherez-https\/",
            "title": "Доступ к файлам на VPS через https",
            "content_html": "<p>Задача: создать на сервере файл, который может скачивать любой, у кого есть ссылка.<\/p>\n<p>Я спросил в поддержке Бегета, с чего начать. Ответ:<br \/>\n«В первую очередь необходимо установить на сервер приложение, которое будет прослушивать порты 80 и 443, например Nginx и создать поддомен, который будет направлен на сервер и настроить Nginx согласно Вашим требованиям.»<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/evgenylukin.ru\/blog\/pictures\/getr88.gif\" width=\"882\" height=\"581\" alt=\"\" \/>\n<\/div>\n<p>Ок. Создал поддомен и направил его на VPS сервер.<br \/>\nСледующим шагом нужно настроить Nginx.<br \/>\nНастраиваю по этой инструкции: <a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-nginx-on-ubuntu-20-04-ru\">https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-nginx-on-ubuntu-20-04-ru<\/a> В предварительных требованиях требовалось создать пользователя. Успешно создал по инструкции <a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/initial-server-setup-with-ubuntu-20-04-ru\">Начальная настройка сервера для Ubuntu 20.04​​​.<\/a><\/p>\n<p>Спасибо инструкциям, всё получилось <a href=\"http:\/\/update.usota.ru\">http:\/\/update.usota.ru<\/a><\/p>\n",
            "date_published": "2021-07-05T17:49:37+03:00",
            "date_modified": "2022-07-28T11:31:46+03:00",
            "image": "https:\/\/evgenylukin.ru\/blog\/pictures\/getr88.gif",
            "_date_published_rfc2822": "Mon, 05 Jul 2021 17:49:37 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "69",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/evgenylukin.ru\/blog\/pictures\/getr88.gif"
                ]
            }
        }
    ],
    "_e2_version": 3849,
    "_e2_ua_string": "E2 (v3849; Aegea)"
}