Запуск exe на Лінуксі
Запуск exe на Linux.
Одним з достоїнств VPS є можливість запуску на сервері програм призначених для роботи на Linux. Однак буває що нам необхідно запустити exe файл, призначений для роботи в середовищі Windows. У цій статті я розповім як налаштувати VPS з встановленим Лінукс ubuntu 10.04 minimal_10.04_amd64, для запуску на ньому exe програм.
Нам знадобиться програма PuTTY. Опис PuTTY і як їй користуватися я описав у статті Налаштування VPS сервера з нуля.
Для запуску на Linux додатків написаних для Windows необхідно встановити на комп'ютер з Лінукс програму Wine. Wine не є емулятором. Це реалізація Windows API функцій. Тому невимогливі exe програми, при відсутність альтернативи під Лінукс, цілком можна запускати під керуванням Wine.
Отже приступимо. Запускаємо PuTTY.
Вводимо команду для установки Wine:
apt-get install wine
Тепер створимо папку на серверному комп'ютері, де буде знаходитися наш exe файл:
Заливаємо в цю папку нашу exe програму. Запустити її можна за допомогою команди «nohup wine /exeprogramm/программа.exe». Але як тільки ми закриємо консольне вікно PuTTY, програма закриється. Тому нам треба запускати її командою «screen wine /exeprogramm/программа.exe».
Встановлюємо screen для запуску exe програми без вильоту:
apt-get install screen
Однак при перевантаженні сервера нам прийдеться заново запускати наш exe файл. Тому треба прописати запуск цієї програми в автозавантаження в файлі /etc/rc.local.
Прописуємо в автозавантаження:
echo "sleep 10" | sudo tee /etc/rc.local
echo "nohup wine / exeprogramm / программа.exe" | sudo tee -a /etc/rc.local
echo "exit 0" | sudo tee -a /etc/rc.local
Усе. Тепер ваш exe файл буде працювати 24 години на добу 7 днів на тиждень і виконувати функції, які ви на нього поклали. Наприклад він може збирати і обробляти інформацію в мережі і ніхто вам не напише в тікет, що ви перевищили навантаження на сервер, як це буде при оренді простого хостингу і роботі скрипта на PHP. Або це буде сервер для вашої мережевої гри. Як знайду час опишу простий багато потоковий сервер на C ++. До речі, реальна багато потоковість на PHP не реалізована.