Running IXWebSocket C++ Server as a Systemd Service on Ubuntu VPS Запуск C++ сервера IXWebSocket как службы Systemd на Ubuntu VPS
This guide covers how to set up, configure, and manage your compiled IXWebSocket C++ server executable as an automatic background systemd service on Ubuntu VPS. В этом руководстве описана настройка, включение и управление скомпилированным исполняемым файлом C++ сервера IXWebSocket в качестве автоматической фоновой службы systemd на Ubuntu VPS.
1. Create the Systemd Unit File 1. Создание файла юнита Systemd
Open a new service configuration file under /etc/systemd/system/ using the Nano text editor:
Откройте новый конфигурационный файл службы в /etc/systemd/system/ с помощью текстового редактора Nano:
sudo nano /etc/systemd/system/my_server.service
How to Edit in Nano: Как редактировать файл в Nano:
- Editing & Typing: Once Nano opens, type or modify text directly using your keyboard arrows to navigate. Редактирование и ввод: После открытия Nano вы можете вводить или изменять текст напрямую, используя стрелки на клавиатуре для навигации.
- Pasting Text (CMD / PowerShell): Click the Right Mouse Button (RMB) inside the window to instantly paste your copied configuration into the editor. Вставка текста (CMD / PowerShell): Нажмите правую кнопку мыши (ПКМ) в окне для мгновенной вставки скопированной конфигурации в редактор.
-
Saving File: Press
Ctrl + O, then pressEnterto confirm writing the file. Сохранение файла: НажмитеCtrl + O, затем нажмитеEnterдля подтверждения записи файла. -
Exiting Editor: Press
Ctrl + Xto exit Nano and return to the terminal prompt. Выход из редактора: НажмитеCtrl + X, чтобы выйти из Nano и вернуться в терминал.
Paste the following unit configuration into the file: Вставьте следующую конфигурацию юнита в файл:
[Unit]
Description=IXWebSocket C++ Server Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/my_server
ExecStart=/root/my_server/dist/linux/app
Restart=always
RestartSec=5
# Standard output and error logging
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
2. Enable and Start the Service 2. Включение и запуск службы
Reload the systemd daemon to recognize the new unit file, enable it to launch automatically on boot, and start it immediately: Перезагрузите демон systemd, чтобы зарегистрировать новый файл юнита, разрешите его автоматический запуск при загрузке системы и запустите его немедленно:
# Reload systemd configuration
sudo systemctl daemon-reload
# Enable service to auto-start on boot
sudo systemctl enable my_server
# Start the service right now
sudo systemctl start my_server
3. Service Management & Verification 3. Управление службой и проверка
Check the active running status of your WebSocket server process: Проверьте текущий статус выполнения процесса вашего WebSocket сервера:
sudo systemctl status my_server
Common Service Commands: Основные команды управления:
| CommandКоманда | ActionДействие |
|---|---|
sudo systemctl start my_server |
Starts the server process.Запускает процесс сервера. |
sudo systemctl stop my_server |
Stops the server process.Останавливает процесс сервера. |
sudo systemctl restart my_server |
Restarts the server process.Перезапускает процесс сервера. |
sudo journalctl -u my_server -f |
Streams live logs (std::cout / std::cerr).Выводит логи в реальном времени (std::cout / std::cerr). |
Support My Work Поддержать проект
If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.
Sberbank (Russia only) Сбербанк (только для РФ)
Direct transfer via phone number (Russia only) Перевод по номеру телефона (только для РФ)
USDT TRC20
Support via Cryptocurrency Поддержка криптовалютой