- MongoDB
- Node.js
- Npm
- Express.js
Ця замітка-шпаргалка по грамотній установці NodeJS на сервер для людей, які як і я практично нічого не розуміють не тільки в програмуванні, але і в Лінуксі як такому. Але ми постараємося звести ваше спілкування до Лінукс до тикання буквально через одну єдину кнопочку, принаймні поки ви не звикнете.
Складається з використанням відповідей не тільки співтовариства тостер, але і Лінукс-спільноти в цілому, Гугла і особистої практики.
Зокрема, мені допомагали: lem_prod. Антон Уланов. inf (список буде розширюватися в міру роботи над шпаргалкою)
Поточна версія шпаргалки: (v. 0.0.9)
Як людина, тільки початківець вивчати nodejs і досить поверхово знайомий з Лінукс, я, зокрема, не знайшов ЖОДНОГО згадки про те як покроково і доступно встановити NodeJS на сервер c Убунту 14.04.03 LTS.
Короткий список питань, з якими я зіткнувся і з частини яких в даний час несамовито проводжу розкопки:
В: Чи можна створювати папку проекту в окремій папці в лінукс?
О так. В цілому, як я зрозумів - навіть бажано.
В: Чи потрібно (при наявності в системі пітона 2.7 наприклад) ставити для Ноди apt-get install python-software-properties?
В: Ні, в разі застосування поточної шпаргалки.
В: Чи потрібно робити apt-get install npm якщо вважається що він УЖЕ включений в Nodejs?
В: Ні, по цій шпаргалці ви отримуєте п'яту версію Ноди, до складу якої npm вже включений.
В: Чому при спробі поставити apt-get install express система говорить мені що їй потрібен apt-get install node-express і одне це і той же, що і expressjs?
Про:
В: В які КОНКРЕТНО папки падає сама нода і її модулі? Чи необхідно визначати їм конкретний шлях установки щодо місця яке заготовлено під проект (очевидно що робити проект в папці з самою нодою не варто, тут опустимо хоча б частину КЕПовства)?
Про:
В: Чи необхідно В КОЖНІЙ папці (наприклад при наявності в папці myapp створюється папка для роздільного chat), перебуваючи в ній говорити консолі npm install --save?
Про:
Ці, та ще величезна кількість питань постають перед початківцями. Так, більшість буде задавати ще більшу купу питань. Наприклад - "навіщо вам розгортати проект відразу на сервері в мережі? Чи не простіше все робити на компі?"
Давайте винесемо це за рамки мого питання. Тому що, по-перше - немає, мені так не простіше. По друге - давайте припустимо що це (наприклад) - деякий факультатив. По-третє - в Ноде для того і описані директиви NODE_ENV з параметрами продакшен і розробка, щоб це все було можливо, чи не так? І хоч прикладів роботи з Нодой в локалі і на серверах описано чимало - конкретики технічного спрямування в них критично мало.
Я прошу співтовариство по можливості відповісти на мої (можливо смішні або наївні в чомусь) питання, з яких я міг би зібрати гайд для такого ось факультативу по правильному розгортання node.js на бойовому сервері для новачків, тим більше що таких прикладів я не знайшов ніде в мережі. Так чому б не зібрати ще один, з несподіваним підходом до встановлення цього чудового сервера?
Але почнемо, мабуть:
0 / useradd vasya // Домовимося з вами про те, що всі подальші операції ми виконуємо від імені простого юзера Васі Пупкіна, якого створимо від імені рута.
1 / sudo apt-get update // Так ви відновите списки джерел обновок для сервера.
2 / sudo apt-get ugrade // Оновимо же сервер!
3 / sudo apt-get install htop // Oчень зручно бачити процеси, витрата пам'яті і так далі. пишемо в консолі htop і користуємося.
4 / sudo apt-get install mc // Вельми зручний файловік. Хочемо покористуватися - пишемо в консолі mc.
5 /
// Ставимо NodeJS версії 5.х
6 / apt-get install -y nodejs --save
// npm включений до ПАКЕТ З нодою. ставити його окремо тепер не потрібно.
7 / npm install -g supervisor --save // Встановимо модуль відслідковує зміни в файлах і папках вашого проекту.
8 / npm install -g forever --save // Встановимо модуль дозволяє створювати / (пере) запускати головний файл (наприклад - той же app.js)
9 / npm install -g express-generator --save // Встановимо шаблонизатор, розвертає проект з первинними папками.
10 /
11 /
прапори:
* - save. записує встановлюється модуль в файл package.json в якому зберігається опис проекту та його залежності (штука дійсно корисна) Риси у прапора команди дві, це не помилка.
** - g. встановлює глобально для всієї операційної системи.
*** - y>: є скороченням прапора "yes".
. далі буде. Хочете допомогти? Приєднуйтесь! ;))
Антон Уланов. ман, за яким я ставив:
1 / apt-get update
2 / apt-get ugrade
3 / apt-get install python-software-properties
4 / apt-add-repository ppa: chris-lea / node.js
5 / apt-get update
6 / apt-get install nodejs
7 / node -v
Ну це добре, ваш спосіб теж все ставить. Но..всё, та не все ясно, дивіться, якщо:
1. npm install -g express --save
2. express -v
то консоль каже що потрібно ставити ще якісь пристяжку для експреса. Решт, коротше, взагалі не наздогнати - в результаті в системі зоопарк з експресів і не ясно що до чого і яке відношення має і де знаходиться. Є ідеї як це все впорядкувати для новачка?
Заздалегідь дякую.