Описание: в этой статье вы узнаете, как использовать переменную SELECT INTO в MySQL для хранения результатов запроса в переменных.
Синтаксис переменной SELECT INTO в MySQL
Чтобы сохранить результат запроса в одной или нескольких переменных , используйте синтаксис переменной SELECT INTO:
SELECT
c1, c2, c3, ...
INTO
@v1, @v2, @v3,...
FROM
table_name
WHERE
condition;
В этом синтаксисе:
c1, c2 и c3 — это столбцы или выражения, которые вы хотите выбрать и сохранить в переменных.
@ v1, @ v2 и @ v3 — это переменные, в которых хранятся значения из c1, c2 и c3.
Количество переменных должно совпадать с количеством столбцов или выражений в списке выбора. Кроме того, запрос должен возвращать ноль или одну строку.
Если запрос не возвращает строк, MySQL выдает предупреждение об отсутствии данных и значение переменных остается неизменным.
Если запрос возвращает несколько строк, MySQL выдает ошибку. Чтобы запрос всегда возвращал максимум одну строку, используйте условие LIMIT 1, чтобы ограничить результирующий набор одной строкой.
Примеры переменной SELECT INTO в MySQL
Мы будем использовать таблицу customers в примере базы данных для демонстрации.
Пример одной переменной SELECT INTO в MySQL
Следующий оператор получает город клиента с номером 103 и сохраняет его в переменной @city:
SELECT
city
INTO
@city
FROM
customers
WHERE
customerNumber = 103;
Следующий оператор отображает содержимое переменной @city:
SELECT
@city;
Пример нескольких переменных SELECT INTO в MySQL
Чтобы сохранить значения из списка выбора в несколько переменных, вы разделяете переменные запятыми. Например, следующий оператор находит город и страну клиента с номером 103 и сохраняет данные в двух соответствующих переменных @city и @country:
SELECT
city,
country
INTO
@city,
@country
FROM
customers
WHERE
customerNumber = 103;
Следующий оператор показывает содержимое переменных @city и @country:
SELECT
@city,
@country;
Пример нескольких строк SELECT INTO в MySQL
Следующая инструкция вызывает ошибку, потому что запрос возвращает несколько строк:
SELECT
creditLimit
INTO
@creditLimit
FROM
customers
WHERE
customerNumber > 103;/
Вот вывод:
Error Code: 1172. Result consisted of more than one row
Чтобы исправить это, вы используете следующее предложение LIMIT 1:
SELECT
creditLimit
INTO
@creditLimit
FROM
customers
WHERE
customerNumber > 103
LIMIT1;
В этой статье вы узнали, как использовать синтаксис переменной SELECT INTO в MySQL для хранения результата запроса результата в одной или нескольких переменных.
Домашний Сервер: Часть 5 – Настройка Plex Media Server в контейнере LXC Proxmox-VE (вы тут)
Предисловие
Ну вот мы и добрались до самого медиасервиса с помощью которого можно просматривать свою медиатеку.
Познакомился я с Plex еще лет пять назад, тогда он был проще, но позволял делать все, что необходимо.
Кратко, что такое Plex? — По сути это медиа «комбайн» или центр управления, с помощью которого вы можете удобно хранить, искать и воспроизводить свой медиа контент и это не только фильмы или сериалы, это могут быть изображения и музыка. Командой Plex выпущены приложения для различного типа устройств, чтобы можно было начать смотреть фильм дома на большом экране и досмотреть например его в дороге.
Скажу сразу — это не реклама. От слова «совсем». Просто на текущий момент это единственная грамотная система для просмотра локальной медиатеки на различных устройствах, причем абсолютно бесплатно!
Установка Plex Media Server
В первую очередь необходимо развернуть отдельный LXC контейнер для медиасервера.
Создадим файл источника для установки и обновлений.
nano /etc/apt/sources.list.d/plexmediaserver.list
# Plexmediaserver
deb https://downloads.plex.tv/repo/deb public main
Обновляем репозитории
apt update
Подготовка завершена, устанавливаем Plex Media Server
apt install plexmediaserver
При окончании установки появится запрос замены файла репозитория.
Я рекомендую оставить вариант по умолчанию. Т.е. не заменять файл репозитория созданный нами, на файл предлагаемый пакетом Plex
Файл настройки "/etc/apt/sources.list.d/plexmediaserver.list"
==> Файл, созданный вами или сценарием.
==> Также, файл в пакете, предоставленный сопровождающим пакета.
Что нужно сделать? Есть следующие варианты:
Y или I : установить версию, предлагаемую сопровождающим пакета
N или O : оставить установленную на данный момент вермию
D : показать различия между версиями
Z : запустить оболочку командной строки для проверки ситуации
По умолчанию сохраняется текущая версия файла настройки.
*** plexmediaserver.list (Y/I/N/O/D/Z) [по умолчанию N] ?
Дожидаемся окончания процесса установки и запуска.
Проверяем запущен ли Plex
service plexmediaserver status
Если видим то, что ниже, значит все хорошо.
Active: active (running)
Сервер Plex будет работать по IP адресу контейнера.
WEB интерфейс запущен на TCP порту 32400 и еще необходимо указать дополнительный путь /web/
netstat -nltp4
tcp 0 0 0.0.0.0:32400 0.0.0.0:* LISTEN 27590/Plex Media
Откроем в браузере свой сервер набрав IP адрес и порт. У меня IP контейнера 192.168.88.8
192.168.88.8:32400/web/
После входа, Plex запросит вашу Учетную запись. Если у вас её нет, то будет необходимо пройти простую процедуру регистрации. Благо есть возможность заходить через учетные записи Google или Facebook.
После входа вас вернет на локальный сервер.
Вводное информационное окно
Далее необходимо выполнить первичную настройку Локального Сервера
Введите желаемое имя сервера
Можете сразу добавить библиотеки если знаете как 🙂
Предлагает загрузить приложения на различные устройства.
После данного этапа сервером уже можно начинать пользоваться. Но есть еще некоторые вещи, которые упростят пользование данным сервисом и сделают его более понятным для пользователя владеющим Русским языком.
Установка и настройка nginx
Т.к. у нас есть DNS, реализуем вход по доменному имени, например у меня plex.gregory-gost.ru
Как видите никаких портов и дополнительных путей вводить при этом не требуется.
Сравните, что удобнее, понятнее и привычнее?
192.168.88.8:32400/web/
или
plex.gregory-gost.ru
Для этого используем реверс прокси.
Ставим nginx, останавливаем, удаляем базовый сайт «hello world» и добавляем свои настройки.
apt install nginx
service nginx stop
rm /etc/nginx/sites-enabled/default
nano /etc/nginx/nginx.conf
error_log /var/log/nginx/error.log crit;
pid /var/run/nginx.pid;
worker_rlimit_nofile 8192;
timer_resolution 100ms;
include /etc/nginx/modules-enabled/*.conf;
events {
multi_accept on;
accept_mutex off;
use epoll;
}
http {
include /etc/nginx/mime.types;
include /etc/nginx/fastcgi.conf;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
#ssl_session_cache shared:SSL:10m;
#ssl_session_timeout 10m;
include /etc/nginx/conf.d/*.conf;
}
Запускаем nginx и проверяем вход по доменному имени
service nginx start
Установка плагина Kinopoisk
Plex поддерживает различные плагины, которые немного упрощают жизнь. Для того, чтобы фильмы в библиотеке обрабатывались корректно и метаданные по ним скачивались на Русском языке можно и не ставить данный плагин. Plex умеет по умолчанию работать с The Movie Database (TMDb) и подгружает русские названия с описанием и постеры от туда. Правда рейтинг также берется с TMDb.
Благо есть «в нашем селении» способные умельцы. Уважаемый amirotin разработал плагин, который парсит метаданные с Кинопоиска.
С декабря 2019 года, amirotin перестал заниматься плагином и его поддержку на себя взял ziemenz.
Возможности плагина:
Загрузка рейтингов для фильмов
Kinopoisk
Rotten Tomatoes
IMDb
The Movies Database
Источники рецензий на фильмы
Kinopoisk
Rotten Tomatoes
Загрузка трейлеров фильмов
Загрузка дополнительных материалов (сцены, интервью)
Загрузка английских имен актеров
Приоритет локализованных обложек фильмов
Поддержка прокси-серверов (http, sock5)
Я надеюсь, что данный плагин не является нарушением авторских или каких-либо других прав компании ООО «Яндекс» (владеет Кинопоиском с 15 октября 2013 г.) т.к. это не коммерческий софт
У себя, я использую Релизную версию плагина 2.0.1 от 29 февраля 2020 г.: Стабильный релиз v2.0.1
Переименовываем папку т.к. она содержит лишнее «2.0.1»
mv Kinopoisk.bundle-2.0.1 Kinopoisk.bundle
Даем права для Plex Media Server на папку
chown -R plex:plex Kinopoisk.bundle/
Финальный вариант работающего Plex Media Server
Скриншот Web интерфейса Plex Media Server
Некоторые настройки Plex Media Server
Покажу некоторые настройки, которые у меня установлены для Plex Media Server.
В основном это настройки библиотек и плагинов обработки для них, остальные вы можете изучить самостоятельно, благо все на Русском языке.
Для фильмов Кинопоиск 2.0
Для сериалов The Movie Database т.к. плаин Кинопоиска пока не умеет работать с сериалами.
Изображения кликабельны:
Список библиотек согласно структуре хранения
Настройки библиотеки Фильмы 2D
Настройки библиотеки Фильмы 2D
Настройки библиотеки Фильмы 2D
Настройки библиотеки Фильмы 2D
Настройки библиотеки Фильмы 2D
Настройки библиотеки Фильмы 3D
Настройки библиотеки Сериалы
Настройки библиотеки Сериалы
Настройки библиотеки Сериалы
Финальные настройки библиотеки Сериалы
TV Приставки и приложения для просмотра
И еще, немного затронем то, на чем все это великолепие можно смотреть!
Я использую на текущий момент:
Xiaomi Mi Box S (MDZ-22-AB) Global Version — Использую на текущий момент. Все устраивает полностью, Android TV с приложением Plex, удобный Bluetooth пульт. (5 990 руб. на дату написания статьи в магазине Xiaomi. На Ali дешевле.)
Raspberry Pi 3B+ с LibreELEC 9.2.0 — Установлен скрипт Plex с автозапуском. Пока единственный нормальный Custom по опыту. В целом задачи решает, но не так удобен, как Mi Box S на Android TV. Я писал статью по использованию: Домашний Медиа-плеер: LibreELEC(Kodi) на Raspberry Pi 3B+. Но планирую заменить на какой-нибудь Smart Box
Что еще можно использовать?
Google Chromecast Ultra — Собственно плеер на Android TV от самого Google, функции аналогичные Mi Box S, но нет в комплекте Bluetooth пульта.
Nvidia Shield TV 2019 — Обновленная «приставка» от Nvidia. С пультом, аналог Mi Box S и Google Chromecast Ultra, но дороже (13 990 руб. на дату написания статьи в магазине Nvidia)
Nvidia Shield TV Pro 2019 — Более прокачанная версия «шилда» причем Plex Media Server уже встроен в этот медиаплеер, что конечно сомнительно всего 16Гб места, часть из которого занимает система. Даже с учетом возможности подключения HDD/SSD. (17 590 руб. на дату написания статьи в магазине Nvidia)
Другие китайские или Российские(российско-китайские?) приставки на базе простого Android, CoreELEC, Android TV, др. — Ценники начиная от 1 500 руб. (Ugoos, H96, X96, X88, Movix Pro и т.д. и т.п.)
Приложение PlexApp (офф версия требует PlexPass) — Есть, как для iOS так и для Android. Ставится на любой планшет, смартфон и т.д.Присутствует на некоторых Smart TV, тут вам нужно изучить набор приложений для вашего телевизора.
Если хотите нормальные UHD(«4K» Ultra HD 2160p) с HDR и Автофреймрейтом, то смотрите в сторону Ugoos AM6+ или Pro, Nvidia Shield TV 2019 Pro
Для FHD(Full HD 1080p) Xiaomi Mi Box S побюджетней.
Если что-то забыл, пишите в комментариях, добавлю 🙂
Заключение
На этой радостной ноте предлагаю, закончить свое повествование по реализации Домашнего медиа сервера. Мы своего добились, фильмы и сериалы качаются на раз-два, просмотр доставляет одно удовольствие, ПК не захламлен кучей фильмов.
Возможно существуют и альтернативы Plex-у, в виде каких-то DLNA клиентов или даже тот-же Kodi, но все они не так удобны и проработаны, что дает очевидный выбор в пользу Plex. Даже при наличии различного рода сервисов, которые избыточны для домашнего локального просмотра, Plex их не навязывает и они не заметны. Это позволяет использовать его с комфортом.
Мне остается только понадеятся на грамотное развитие данной системы в будущем и пожелать его авторам успехов.
А вам дорогие читатели находить новые решения, использовать все самое лучшее и делиться впечатлениями!
В рамках цикла «Домашний сервер» планирую еще две статьи
The Dude — мониторинг девайсов в домашней сети.
FreePBX (Asterisk) — IP телефония.
А вот реализация Домашнего IoT пойдет в отдельный цикл, чтобы было проще ориентироваться в дальнейшем. Посмотрим будет ли интерсено читателям )
openHAB 2 — домашний IoT.
Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉
UPD: 29.02.2020
Изменен источник и инструкция для плагина Kinopoisk.
Openwrt — даже не прошивка, а операционная система linux для роутеров. Причин, для того, что бы ваш роутер был под управлением Openwrt много. Ведь перед вами хоть и урезанная, но система linux, с возможностью установки пакетов (приложений). Помните, перепрошивка роутера в openwrt лишает вас гарантии. Все действия, которые вы выполняете со своим роутером — вы делаете на свой страх и риск.
В первом повествовании не будем вдаваться во многие тонкости. Рассмотрим, как прошить роутер и настроить сеть через веб-интерфейс на примере TP-Link TL-WR740N v.5.
MikroTik Wireless Router is popularly used as WiFi AP. MikroTik WiFi AP has a lot of features to tune WiFi network as your requirements. MAC authentication is one the amazing and useful features in MikroTik WiFi. MAC authentication enables filtering MAC address that means no MAC can be able to connect to WiFi AP without authentication. MAC authentication can be done either local database or RADIUS Server. MAC authentication with RADIUS Server provides facility to manage multiple APs from centralized database. User Manager is a RADIUS Application developed by MikroTik team and can be used to manage PPPoE, Hotspot, DHCP and Wireless user easily. How to install User Manager RADIUS Server with basic configuration was discussed in my previous article. I also discussed how to configure MikroTik Wireless Router as WiFi AP in another article. In this article I will discuss how to manage WiFi user with User Manager RADIUS Server.
Network Diagram
The following network diagram is being followed for this article configuration.
MikroTik WiFi with RADIUS Server
In this network diagram a MikroTik Wireless Router (RB941-2nD) is being used as WiFi AP (IP: 192.168.70.2) which is connected to a WAN Switch where a User Manager RADIUS Server (IP: 192.168.70.3) is also connected. The WiFi AP will be configured as MAC authenticated AP so that no Wireless device (Laptop, Smart Phone, Notebook and so on) will be connected without providing MAC Address and the MAC Address will be authenticated from RADIUS Server.
MAC Authenticated WiFi AP Configuration with RADIUS Server
The complete MAC authentication WiFi AP configuration with User Manager RADIUS Server can be divided into the following two parts.
Enabling MAC authentication from RADIUS Server in WiFi AP
User Manager RADIUS Server configuration for authenticating WiFi devices
Part 1: Enabling MAC Authentication from RADIUS Server in MikroTik WiFi AP
MikroTik Wireless Router configuration as WiFi AP was discussed in another article. The default authentication scheme in MikroTik WiFi AP is anyone can connect just knowing SSID and Password. This scheme is obviously not prefer for secure network. So, MAC authentication is the best choice for any wireless network. As MAC authentication is not enabled by default, we have to enable MAC authentication manually to apply this scheme. The following steps will show how to enable RADIUS MAC authentication in MikroTik WiFi AP.
From Winbox, click on Wireless menu item. Wireless Tables window will appear.
Click on Security Profiles tab and then double click on created WiFi Profile that is being used by WiFi AP. Security Profile window will appear.
Click on RADIUS tab and then click on MAC Authentication check box.
If you want to MAC accounting, click on MAC Accounting check box and set Interim Update (example: 00:00:59 for one minute interval) time (The time interval for sending accounting status to RADIUS Server).
Optionally you can choose MAC address format that you prefer from MAC Format dropdown menu.
You can also set whether the MAC will be send as only username or both username and password to RADIUS Server for authentication. The default MAC mode is username only and I am keeping the default setting.
Click Apply and OK button.
Enabling MAC Authentication with RADIUS Server
MikroTik WiFi AP is now MAC authenticated WiFi AP and the MAC authentication will be checked from RADIUS Server. So, if RADIUS Server allows any MAC address, the device will be allowed to connect to WiFi AP otherwise the device will be rejected.
Now we have to configure RADIUS client in MikroTik RouterOS so that RouterOS can communicate to RADIUS Server to send and receive authentication, authorization and accounting data. The following steps will show how to configure RADIUS client in MikroTik RouterOS.
From Winbox, click on RADIUS menu item. Radius window will appear.
Click on PLUS SIGN (+) to add a RADIUS Server. New Radius Server window will appear now.
Click on wireless checkbox from Service panel.
Put RADIUS Server IP address (in this article: 192.168.70.3) in Address input field.
Put Shared secret (in this article: 123) in Secret input field and remember it because you have to provide this secret in RADIUS Server Routers configuration.
Click Apply and OK button.
From RADIUS window, click on Incoming button. RADIUS Incoming window will appear.
Click on Accept checkbox and the default port will be 3799. So, nothing to do. Click Apply and OK button.
RADIUS Client Configuration in RouterOS
RADIUS Client configuration in MikroTik RouterOS has been completed. Now MikroTik RouterOS will be able to communicate with the assigned RADIUS Server.
We will now configure User Manager RADIUS Server so that wireless device can be authenticated from RADIUS Server and get proper authorization.
Part 2: User Manager RADIUS Server Configuration for Authenticating WiFi Devices
User Manager is a RADIUS application and RADIUS Server is used to do AAA (Authentication, Authorization and Accounting) solution. So, using User Manger RADIUS Server we can do authentication, authorization and accounting of WiFi devices in a Wireless Network. How to install User Manager RADIUS Server with basic configuration was discussed in another article. So, here I will only show how to configure User Manger for authenticating WiFi devices.
At first we will add our Wireless Router as a NAS device of User Manager so that User Manager can reply any RADIUS query of our Wireless Router. The following steps will show how to add MikroTik Wireless Router as a NAS device in User Manager RADIUS Server.
Login User Manager Web Interface.
Click on Routers menu item. Router page will appear.
From top menu bar click on Add menu and then choose New option. Router Details window will appear now.
In Main panel, put a meaningful name (example: MikroTik Router) for that client router in Name input field.
Put the IP address of the client router (example: 192.168.70.2 that will use User Manager as its RADIUS client) in IP address input field.
Put the password that you provide in RouterOS RADIUS Client configuration in Shared secret input field. This password must match otherwise the Wireless Router cannot communicate with this RADIUS Server.
In Radius incoming panel, check the CoA (Change of Authorization) check box and put CoA port 3799. This port will be used to send acknowledgment to NAS device for a user’s authorization. For example, if a user exceeds his time limit, RADIUS Server will tell the NAS device to disconnect the user immediately.
Click Add button to add this NAS device.
Routers Configuration in User Manager
Wireless Router and User Manager RADIUS Server are now ready to communicate with each other. In the next step we will configure RADIUS user that will be authenticated in WiFi AP.
In User Manager RADIUS Server, every user must have a profile otherwise the user cannot be valid. So, before creating user we have to configure profile for the users. In this article we will create three profiles according to the following information.
SN
Profile Name
Limitation
1
1 Mb Package
1 Mbps download speed
2
2 Mb Package
2 Mbps download speed
3
5 Mb Package
5 Mbps download speed
The following steps will show how to create these three profiles with the described limitation.
Click on Profiles menu item. Profile page will appear.
From Profiles tab click on PLUS SIGN (+). Create profile pop up window will appear.
Put the first Profile name (1 Mb Package) in Name input box and click Create button. Profile and Profile property list will appear that can be changed as required.
The created profile has no limitation. To add limitation click on Add new limitation button. Profile part pop up window will appear.
In Period panel, you can set Days and Time when this profile will be active. By default it will keep 24/7.
From Limits Panel click on New limit button. Limitation details popup window will appear.
In Main panel, put a limit name (example: 1Mb) in Name input field.
In Rate limits panel, put 1M in Rate limit Tx input field and click Add button. Optionally you can set Burst Tx limit, Burst threshold and Burst time. In MikroTik Wireless Router, the Tx limit (transfer limit from AP to wireless device) is applied and Rx cannot be applied. Rx limit only applicable for RouterOS client. So, don’t need to put Rx limit.
Created limit will be available and remain selected in Limits panel. Click Add button to add this limit to user profile.
First profile with proper limitation will be created.
User Manager Profile Creation
Similarly create 2 Mb and 5 Mb Packages. After creating profiles we will now create user and assign created profile to the user.
The following steps will show how to create user in User Manager RADIUS Server.
Click on Users menu item. User page will appear.
From top menu bar click on Add and then click on One option. User details popup window will appear.
In Main panel, put the device MAC address that you want to allow in Username input filed. As we have chosen MAC Mode only username in WiFi RADIUS configuration, keep the Password field blank.
From Constraints panel, you can set IP address for this user from IP address input filed and from Wireless panel, you can set private password (SSID password) for this user from Preshared key input field.
You can also put user private information in Private information panel.
From Assign profile dropdown menu choose any created profile (example: 1 Mb Package) that you want to assign for this user.
Click Add button to create this user.
User Creation in User Manager RADIUS Server
You can create as many users as you want for your wireless network following the above steps.
After creating user, now connect the desired wireless device to the WiFi AP. If everything is OK, your desired device will be able to connect to your wireless network and you will find the user’s active session in User Manager RADIUS Server.
User Session in RADIUS Server
You can also find the connected users status in Registration tab in Wireless Tables window. Here you will find the user’s data transfer speed in AP Tx Limit status.
User Registration in Wireless Registration Table
If anyone tries to connect to your WiFi AP who is not allowed, he will be rejected.
A common query is if anyone knows allowed MAC Address and changes his MAC address, he will be able to connect in this hacking process. MikroTik has an easy solution for this situation. Put private password in Preshared key while creating user in User Manager RADIUS Server. To be connected to WiFi AP, a user must match MAC address and Preshared key otherwise he will not be able to connect. So, MAC address hacking will be useless.
If you face any confusion to follow the above steps properly, watch the following video about WiFi MAC Authentication with RADIUS Server. I hope it will reduce your any confusion.
How to Configure RADIUS MAC Authentication in MikroTik Wireless Router has been discussed in this article. I hope you will now be able to configure MAC Authentication WiFi AP with User Manager RADIUS Server. However, if you face any confusion, feel free to discuss in comment or contact me from Contact page. I will try my best to stay with you.
Всякий раз, когда мы планируем создать веб-сайт в Интернете, мы должны учитывать расходы. Цена на программное обеспечение веб-сервера не является основной проблемой при планировании размещения веб-сайта в Интернете. Цена веб-сервера зависит от того, сколько ресурсов вам нужно для вашего сайта, и какую инфраструктуру вы можете себе позволить.
Более 99% веб-сайтов используют виртуальный хостинг в качестве решения. Другими словами, они арендуют пространство в компаниях, предоставляющих услуги веб-хостинга, разделяя большой физический сервер с другими клиентами. Например, Copahost предлагает дешевые общие веб-серверы по низким ценам, начиная с 1,99 € в месяц.
Наличие собственного сервера в сравнении с ценой для аренды веб-сервера
Аренда виртуального сервера VPS в основном предоставляет несколько больших серверов, подключенных к Интернету, 24 часа в сутки. Вполне возможно, что ваш собственный веб-сервер работает и работает, например, в вашем офисе. При расчете цены веб-сервера могут возникнуть некоторые неожиданности, если вы планируете запускать локальный веб-сервер.
Есть много недостатков при запуске собственного веб-сервера, несмотря на цену:
Высокие затраты энергии
Конфигурации веб-сервера HTTP, DNS, FTP .. требуют усилий и времени
Обновления безопасности должны выполняться ежедневно
Должен быть настроен хороший брандмауэр
Стоимость лицензии панели управления достаточно высока
Прилагаются усилия для мониторинга вашего веб-сервера.
Почему вы должны рассмотреть общий веб-сервер, и какова цена?
По сути, наличие веб-сервера с общим хостингом является идеальным решением для 99% веб-сайтов в Интернете.
Преимущества и стоимость общего веб-сервера:
Дешевле
Никаких сюрпризов со счетом за электроэнергию
Услуги по регистрации доменов
Существует специализированная команда, которая отслеживает ваш веб-сервер.
Опыт в настройках безопасности
Очень богатая и полная панель управления, без дополнительных цен.
Вывод о ценах на веб-сервер
Не стоит запускать локальный веб-сервер, так как его ежемесячная стоимость обычно высока. В этой другой статье мы покажем несколько примеров веб-сервера . Если вам действительно нужно запустить локальный веб-сервер, есть хорошие и бесплатные решения. Это сэкономит рабочее время и усилия по настройке вашего сервера веб-хостинга.
Таким образом, цена веб-сервера на виртуальном хостинге намного ниже, чем на собственном сервере.
Серверы общего хостинга предлагают более полную панель управления, такую как DirectAdmin и cPanel. Зачастую тарифные планы веб-хостинга поставляются с бесплатными сертификатами SSL, предварительно настроенным DNS-сервером и инфраструктурой электронной почты. А также круглосуточная квалифицированная техническая поддержка, готовая решить любую проблему, которая может возникнуть.
Добавление подсистемы Windows для Linux в Windows 10 стало неожиданностью для многих, в том числе и для нас. Хотя это инструмент, предназначенный для использования в основном разработчиками, обычные пользователи, похоже, тоже заинтересованы в этой функции. Мы подумали, что будет целесообразно показать вам, как запускать команды в Bash в Ubuntu для Windows 10 для работы с файлами, папками и приложениями. Есть много возможностей, так что давайте начнем.
ПРИМЕЧАНИЕ. Этот учебник основан на Windows 10 с обновлением 10 ноября. Если у вас более старая версия Windows 10, некоторые команды могут не работать или все может выглядеть иначе.
Как получить Ubuntu на Windows
Для этого урока на вашем компьютере или устройстве с Windows 10 должна быть установлена Linux Ubuntu под Windows. Если вы этого еще не сделали или вам нужны какие-то рекомендации по этому вопросу, мы описали весь процесс установки здесь: Как получить подсистему Windows для Linux?
Во-вторых, мы предполагаем, что вы никогда не работали с Linux и что «вы ничего не знаете» об этом, как и Джон Сноу. 🙂
Что такое Bash в Ubuntu для Windows?
Как начинающий, вы можете спросить, что вы получаете от Bash на Ubuntu для Windows. Вы получаете всю среду оболочки Bash на своем компьютере с Windows 10. Если вы использовали Windows раньше, будь то Windows 10, Windows XP или что-то другое, вы, вероятно, знакомы со средами командной строки и PowerShell . Bash — похожая оболочка, но созданная для операционных систем Linux.
Как и командная строка , Bash — это среда командной строки. Он работает поверх ядра Linux и предлагает вам целый ряд утилит командной строки для запуска. Вы можете использовать его для загрузки, установки и использования приложений Linux, если вы этого хотите. И все утилиты, которые вы запускаете внутри Bash, получают доступ к вашей файловой системе Windows 10. Это означает, что вы можете получать доступ, создавать и удалять файлы и папки на любом из ваших дисков. Также важно отметить, что, несмотря на то, что это возможно, запуск графических приложений в Ubuntu в Windows является довольно сложной задачей и подвержен ошибкам. Это связано с тем, что Ubuntu в Windows была создана для предоставления подсистемы Linux и доступа к ее утилитам для разработчиков, а не для обычных пользователей.
Как запустить Ubuntu на Windows 10
Первое, что вам нужно сделать после того, как вы установили Ubuntu в Windows, — это запустить его, и быстрый способ сделать это — щелкнуть или нажать на ярлык в меню «Пуск».
Вот как выглядит интерфейс Ubuntu в Windows 10:
Будучи средой командной строки, вам нужно написать текстовые команды, которые вы хотите запустить в нем. Если вы раньше работали с командной строкой , то, вероятно, вы привыкли писать полный путь к команде, чтобы ее можно было запустить. Забудьте об этом, пока вы используете оболочку Bash. Здесь любую команду, инструмент или приложение, которое вы устанавливаете, можно запустить из любого места, просто набрав его имя. Там нет необходимости добавлять его путь перед его именем. Теперь давайте посмотрим основные команды, которые вам необходимо изучить, чтобы начать:
1. Как изменить каталог на компьютере с Windows 10 с помощью Bash на Ubuntu, используя команду CD
Одна из основных команд в Bash — это та, которая позволяет вам изменить папку, в которой вы работаете. Чтобы перейти к другой папке на компьютере с Windows 10, все, что вам нужно сделать, это запустить команду cd [путь], где [путь] — это местоположение этой папки.
Обратите внимание, что все диски на вашем компьютере с Windows 10 смонтированы в /mnt/[буква диска]. Например, диск C, на котором обычно установлена Windows 10, находится по следующему адресу: /mnt/c. Диск D, если он у вас есть, находится в /mnt/d и так далее. Давайте рассмотрим пример: если вы хотите перейти к папке Digital Citizen, найденной на вашем диске D, вам нужно будет выполнить команду Bash: cd "/mnt/d/Digital Citizen".
ВАЖНО. Если в папке, в которой вы хотите работать, есть пробелы в названии, как, например, в случае с Digital Citizen , обязательно укажите путь между кавычками. Кроме того, используйте только прямые, а не фигурные или умные кавычки, так как они не работают.
2. Как просмотреть содержимое папки на вашем компьютере с Windows 10 с помощью Bash на Ubuntu, используя команду LS
В Bash еще одной важной командой, которая показывает содержимое папки, является ls . Введите его, нажмите Enter на клавиатуре, и вы получите список всех папок и файлов, найденных в текущем каталоге.
Как вы можете видеть на предыдущем скриншоте, папки подсвечиваются, чтобы вы могли отличить их от файлов.
3. Как скопировать файлы на ПК с Windows 10, используя Bash в Ubuntu, используя команду CP
Bash также включает в себя все команды, необходимые для базового управления файлами, такие как копирование, перемещение, переименование, удаление. Команда, позволяющая скопировать файл из одного места в другое, называется cp [source] [destination], где [source] — путь к копируемому файлу, а [destination] — путь к месту, куда он будет скопирован.
Например, предположим, что мы хотим скопировать файл с именем incognito.xlsx, который находится в нашей папке Digital Citizen, в подпапку « Безопасность для всех» . Для этого нам нужно выполнить команду cp "/mnt/d/Digital Citizen/incognito.xlsx" "/mnt/d/Digital Citizen/Security for Everyone".
Затем файл копируется в указанную папку.
4. Как переместить или переименовать файлы на ПК с Windows 10, используя Bash в Ubuntu, используя команду MV
Перемещение или переименование файлов с помощью Bash аналогично копированию файлов. Команда, которую необходимо выполнить для этой цели, имеет следующий синтаксис: mv [источник] [место назначения], где [источник] — это путь к файлу, который был перемещен или переименован, а [место назначения] — это путь к месту, куда он собирается быть перемещенным. Если [назначение] совпадает с [источником], но указанное вами имя файла отличается от оригинала, файл переименовывается, а не перемещается.
Используя тот же пример, что и раньше, давайте переместим файл incognito.xlsx из нашей папки Digital Citizen в подпапку «Безопасность для всех», а затем переименуем его в web_incognito.xlsx . Для этого нам нужно выполнить следующие команды: mv "/mnt/d/Digital Citizen/incognito.xlsx" "/mnt/d/Digital Citizen/Security for Everyone", а затем mv "/mnt/d/Digital Citizen/Security for Everyone/incognito.xlsx" "/mnt/d/Digital Citizen/Security for Everyone/web_incognito.xlsx".
5. Как удалить файлы с вашего ПК с Windows 10, используя Bash на Ubuntu, используя команду RM
Удаление или удаление файлов в Bash производится с помощью команды rm [file] . Чтобы удалить файл web_incognito.xlsx, который мы создали ранее, сначала перейдите в нашу папку « Безопасность для всех », в которой он находится, с помощью команды cd "/mnt/d/Digital Citizen/Security for Everyone". Затем мы запускаем команду rm web_incognito.xlsx.
6. Как создавать папки на ПК с Windows 10 с помощью Bash на Ubuntu, используя команду MKDIR
Создание папки с помощью Bash выполняется с помощью команды mkdir [папка] , где [папка] — это имя папки, которую вы хотите создать. В качестве примера, скажем, мы хотим создать папку с именем Tests внутри нашего каталога Digital Citizen . Для этого сначала перейдите в папку Digital Citizen (cd «/mnt/d/Digital Citizen»), а затем выполните команду mkdir Tests. Это так просто.
7. Как удалить папки с вашего ПК с Windows 10, используя Bash в Ubuntu, используя команду RM -R
Точно так же удаление или удаление папки с помощью Bash также просто. Перейдите в родительский каталог папки, которую вы хотите удалить, и выполните команду rm -r [папка] , где [папка] — это имя папки, которую нужно удалить. Возможно, вы заметили, что эта команда также содержит аргумент -r: вам нужно добавить его, чтобы все в этой папке также рекурсивно удалялось.
В качестве примера давайте удалим папку « Тесты », которую мы ранее создали в нашей папке «Digital Citizen». Для этого сначала нужно перейти в родительскую папку, которая называется Digital Citizen, с помощью команды: cd "/mnt/d/Digital Citizen". Затем мы должны запустить команду rm -r Tests.
8. Как загрузить и установить приложения Linux в Windows 10, используя Bash в Ubuntu, с помощью команды SUDO APT-GET INSTALL
Linux также позволяет вам запускать команды как суперпользователь, используя команду SUDO, которая дает вам административные привилегии. Синтаксис прост: sudo [приложение], где [приложение] может быть любой программой, установленной в операционной системе. Поскольку команда sudo дает вам административные полномочия над всем в Linux, она очень похожа на то, что может делать учетная запись администратора в Windows. Если вы хотите загрузить, установить и запустить приложения Linux, вы можете использовать следующие команды:
Сначала запустите sudo apt-get update. Эта команда загружает последние списки программного обеспечения из Ubuntu.
Затем, чтобы загрузить и установить нужное приложение для Linux, запустите sudo apt-get install [имя приложения] . Например, если мы хотим установить w3m , который является текстовым веб-браузером, нам нужно запустить sudo apt-get install w3m . Если приложению требуются дополнительные пакеты, возможно, вам придется подтвердить, что вы хотите продолжить, и в этом случае нажмите клавишу Y на клавиатуре.
9. Как получить помощь в Bash на Ubuntu для Windows, используя аргумент HELP
Если вы хотите узнать больше о том, что делает определенная команда, напишите ее в Bash и добавьте параметр --help. Отображаемая информация должна пролить больше света на структуру и использование этой команды. Взять, к примеру, команду ls, которая перечисляет содержимое папки. Это может показаться простой командой, но она предлагает довольно много опций для отображения информации. Вот часть помощи, которую вы получите за это:
Вы пробовали Bash на Ubuntu в Windows?
Мы надеемся, что нам удалось познакомить вас с очень интересным миром Linux Bash и основами его использования в Windows 10. Попробуйте команды, которые мы продемонстрировали, и узнайте больше о каждой команде, используя аргумент HELP. Если у вас есть какие-либо вопросы или советы, которыми можно поделиться, не стесняйтесь комментировать ниже.