- Исходные данные
# cat /etc/os-release PRETTY_NAME="Ubuntu 16.04.5 LTS"
- Passenger
Добавляем репозиторий passenger.
Файл /etc/apt/sources.list.d/passenger.listdeb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main
Добавляем ключ passenger:apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
# apt-get update
Вместо nginx (если установлен, то будет удален) необходимо установить nginx-common# apt-get install nginx-common
Устанавливаем# apt-get install nginx-extras passenger
- nodejs
Ставим версию 8. Кому нужна версия 12 - меняем 8 на 12.
Добавляем в систему ключ:# curl -LSs https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
Добавляем репозиторий в файл /etc/apt/sources.list.d/nodejs.listdeb https://deb.nodesource.com/node_8.x xenial main deb-src https://deb.nodesource.com/node_8.x xenial main
# apt-get update # apt-get -y install nodejs
проверяем, если /usr/bin/node нет, то делаем симлинк# ln -s /usr/bin/nodejs /usr/bin/node
Проверяем:# node -v v8.11.3 # npm -v 5.6.0
- Сайт
Добавить или найти и раскомментировать в файле /etc/nginx.confhttp { include /etc/nginx/passenger.conf; }
Конфиг сайта: /etc/nginx/sites-available/site-nodejs.conf (не забудьте сделать линк в sites-enabled):server { listen 80; server_name site-nodejs.test; root /var/www/site-nodejs/public; try_files $uri @backend; location @backend { passenger_app_root /var/www/site-nodejs; passenger_enabled on; passenger_app_type node; passenger_startup_file test.js; } }
# systemctl restart nginx
Делаем папки сайта:# mkdir -p /var/www/site-nodejs/public # mkdir -p /var/www/site-nodejs/tmp # chown -R www-data:www-data /var/www/site-nodejs
Пишем в файл /var/www/site-nodejs/test.js :var http = require("http"); function onRequest(request, responce){ var body = '<html><head></head>'+ '<body>42</body></html>'; responce.writeHead(200, {"Content-Type" : "text/html"}); responce.write(body); responce.end(); } http.createServer(onRequest).listen(9080);
Статья опубликована: 2018-08-09 19:31:49
Последние правки: 2019-09-23 17:29:10
Запускаем node.js приложение при помощи Phusion Passenger, установленного как модуль для nginx в Ubuntu 16.04.