Как установить Anchor CMS на CentOS 7 LAMP VPS
Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.
В этом уроке мы будем настраивать веб-сервер с обратным прокси. Мы будем использовать CMS Keystone.js, хорошо известную инфраструктуру веб-приложений, основанную на Express.js. Обратный прокси-сервер, который мы будем использовать, - это Nginx, бесплатный обратный прокси-сервер с открытым исходным кодом, а также HTTP-сервер. База данных, которую мы будем использовать, - MongoDB, база данных документов NoSQL. Это потребует, чтобы у вас был домен с настроенными записями. Если у вас нет этого набора, продолжайте, позаботьтесь об этом и вернитесь к этому уроку.
Сначала мы установим Node.js, который является интерпретатором Javascript на основе движка Chrome V8 Javascript.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
Далее мы установим Nginx, наш обратный прокси.
sudo apt update
sudo apt install nginx
Это обновит списки пакетов и установит Nginx. После завершения установки мы настроим наш проект узла.
Создайте наш проект узла. Для этого просто создайте новую папку.
mkdir website
Затем мы создадим наш package.json
файл. Для этого просто запустите npm init
в своем терминале, заполните поля и ответьте « yes
» для подтверждения. После того как вы создали package.json
файл, мы установим следующие модули узлов.
sudo npm install -g generator-keystone
sudo npm install -g yo
Как только они закончат загрузку, запустите следующее.
yo keystone
Заполните обязательные поля. Она будет просить вас за project name
, то template engine
, email
на панели управления, и так далее. Если вы не знаете, что выбрать, то по умолчанию будет хорошо. После того, как вы настроили настройку keystone, мы можем проверить, работает ли наш сервер, набрав node keystone
для запуска вашего приложения. По умолчанию ваше приложение будет запущено через localhost
порт 3000
. Обратите внимание, что если у вас не установлен MongoDB, база данных будет вам недоступна сразу. Вы можете узнать, как установить его позже в руководстве.
Вот основной макет каталога для Keystone.js:
/lib
- Здесь вы будете хранить свои пользовательские библиотеки и другой код.
/models
- Здесь вы будете хранить модели базы данных вашего приложения. KeystoneJS использует MongoDB в качестве поставщика базы данных.
/public
- Здесь будут храниться ваши статические файлы (CSS, JS, изображения и т. Д.).
/routes/api
- Здесь будут храниться контроллеры API вашего приложения.
/routes.views
- Контроллеры представления приложений будут храниться здесь.
/templates
- Здесь будут храниться все файлы шаблонов вашего приложения.
/updates
- Здесь будут храниться ваши сценарии миграции.
package.json
- Это ваш файл конфигурации npm, который сгенерировал для нас генератор.
keystone.js
- Наш основной стартовый файл, мы запускаем его при запуске сайта.
Как упоминалось ранее, нашей базой данных, которую мы будем использовать, является MongoDB, которая представляет собой надежную NoSQL, документно-ориентированную базу данных. Если вам уже установили MongoDB, вы можете пропустить этот раздел. Если нет, то вот как установить его на Ubuntu 16.04.
Импортируйте открытый ключ, используемый для пакета mongoDB.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Создайте файл списка, используемый для установки пакета.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Обновите свои списки пакетов, используя apt
.
sudo apt update
Наконец, установите MongoDB.
sudo apt install mongodb-org -y
Когда установка завершится, запустите MongoDB.
sudo service mongod start
Это запустит процесс MongoDB на порту 27017
.
MongoDB будет использоваться во всем приложении и использоваться для хранения информации, которую мы используем для наших моделей, например, для User
модели. Keystone использует его как свою базу данных, и в настоящее время вы не можете использовать других поставщиков баз данных.
Теперь пришло время установить PM2 (Process Manager 2.) PM2 - это менеджер процессов для приложений Node.js в форме модуля npm. Это простой способ управлять приложениями и запускать их в фоновом режиме. Поскольку он находится в NPM, все, что нам нужно сделать, чтобы установить его, - запустить следующее.
sudo npm install pm2 -g
Это говорит npm установить его глобально, чтобы мы могли использовать его где угодно в нашей системе.
Ранее мы запускали наше веб-приложение с node keystone
. С PM2 все немного по-другому. Теперь мы запускаем наше приложение узла со следующим.
pm2 start keystone.js
Это добавит наше приложение PM2 в наш список процессов, и появится небольшое окно, чтобы вы могли видеть, что оно действительно в сети. Обратите внимание на поле с надписью id
для вашего процесса. Держите это близко, поскольку мы будем делать много ссылок на это позже.
Чтобы увидеть журналы для вашего приложения.
pm2 logs [id]
Например, pm2 logs 0
если это ваше первое приложение PM2.
Чтобы остановить ваше веб-приложение в любое время.
pm2 stop [id]
Чтобы полностью удалить ваше приложение.
pm2 delete [id]
PM2 даже имеет панель мониторинга, если вы хотите просмотреть некоторые основные статистические данные для вашего приложения, и вы можете получить к ним доступ с помощью этого.
pm2 monit
Это покажет некоторую основную информацию, такую как использование ОЗУ, использование ЦП и время работы.
Отличная особенность, которую предлагает PM2 watching
. По сути, наблюдение - это когда PM2 автоматически обнаруживает изменения в любом из файлов в том же каталоге, что и ваш стартовый файл, и автоматически перезапускает ваше приложение. Чтобы включить его, просто перезапустите приложение, но передайте ему флаг наблюдения.
pm2 restart [id] --watch
Чтобы отключить наблюдение после того, как оно было включено, просто повторите ту же команду, и наблюдение будет отключено.
В этом уроке мы уйдем от просмотра.
Убедитесь, что у вас установлен Nginx. Если по какой-то причине это не так, обратитесь к описанным выше шагам.
Настройте параметры брандмауэра. На Ubuntu, ufw
это официальный брандмауэр. По умолчанию соединения заблокированы на порту 80
. Нам нужно добавить исключение для Nginx для порта 80
, на котором будет работать наше веб-приложение.
sudo ufw allow 'Nginx HTTP'
Убедитесь, что ваш сервер Nginx работает.
systemctl status nginx
В Active
разделе, если вы видите active (running)
, то все готово. Если нет, попробуйте перезапустить службу.
systemctl restart nginx
Удалите файл конфигурации Nginx по умолчанию.
sudo rm /etc/nginx/sites-available/default
Создайте новый и просто назовите его node
.
sudo nano /etc/nginx/sites-available/node
Вставьте следующее в файл и замените его example.com
доменом вашего сайта.
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
Обратите внимание, что proxy_pass
обозначает IP, на котором локально работает наше приложение Keystone, которое находится localhost
на порте 3000
. listen 80
это порт, на который мы хотим направить приложение, в данном случае это порт 80
.
Затем нам нужно создать символическую ссылку или символическую ссылку на папку с именем sites-enabled
. Разница между sites-enabled
и в sites-available
том, что sites-enabled
на самом деле загружается Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Теперь ваш файл конфигурации в sites-available
будет готов к использованию, и он будет загружен из sites-enabled
. Чтобы применить настройки, чтобы они вступили в силу, просто перезапустите Nginx.
sudo systemctl restart nginx
Наконец, перезапустите приложение PM2
pm2 restart [id]
Теперь вы можете перейти к своему домену в браузере и увидите Welcome to Keystone
экран с панелью для входа.
Если вы видите это, значит, вы успешно настроили производственный веб-сервер Node.js. Если нет, то вы, возможно, сделали шаг неправильно, и вы можете вернуться назад и тщательно следовать каждому шагу.
Вы можете узнать больше о Nginx, посетив их сайт .
Надеюсь, вам понравился этот учебник, и надеюсь, что он помог вам настроить собственный веб-сервер для работы на Vultr VPS.
Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.
Используете другую систему? TextPattern CMS 4.6.2 - это простая, гибкая, бесплатная система управления контентом (CMS) с открытым исходным кодом, которая позволяет веб-дизайнерам
Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам
Используете другую систему? Subrion 4.1 CMS - это мощная и гибкая система управления контентом с открытым исходным кодом (CMS), которая обеспечивает интуитивно понятный и понятный контент.
Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.
Используете другую систему? PyroCMS - это CMS с открытым исходным кодом, написанная на PHP. Исходный код PyroCMS размещен на GitHub. В этом руководстве хорошо прогуляться по всему
Использ��ете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам
Используете другую систему? Pagekit 1.0 CMS - это красивая, модульная, расширяемая и легкая, бесплатная и с открытым исходным кодом система управления контентом (CMS) с
Используете другую систему? Subrion 4.1 CMS - это мощная и гибкая система управления контентом с открытым исходным кодом (CMS), которая обеспечивает интуитивно понятный и понятный контент.
Используете другую систему? TextPattern CMS 4.6.2 - это простая, гибкая, бесплатная система управления контентом (CMS) с открытым исходным кодом, которая позволяет веб-дизайнерам
Используете другую систему? Октябрь 1.0 CMS - это простая и надежная, бесплатная система управления контентом (CMS) с открытым исходным кодом, построенная на платформе Laravel.
Используете другую систему? DotCMS - это система управления контентом корпоративного уровня с открытым исходным кодом, написанная на Java. Он содержит почти все функции, необходимые т
Используете другую систему? Subrion 4.1 CMS - это мощная и гибкая система управления контентом с открытым исходным кодом (CMS), которая обеспечивает интуитивно понятный и понятный контент.
Используете другую систему? Automad - это система управления контентом на основе файлов с открытым исходным кодом (CMS) и механизм шаблонов, написанный на PHP. Исходный код Automad я
Используете другую систему? WonderCMS - это быстрая и небольшая плоская файловая CMS с открытым исходным кодом, написанная на PHP. Исходный код WonderCMS размещен на Github. Это руководство будет
Используете другую систему? Введение Tiki Wiki CMS Groupware, также известная как Tiki, является бесплатной и открытой системой управления контентом вики. Особенность Тикиса
Используете другую систему? Введение BoltWire - это бесплатная и легкая система управления контентом, написанная на PHP. По сравнению с большинством других контент-менеджеров
ApostropheCMS - это современная система управления контентом, построенная на NodeJS с акцентом на расширяемые инструменты контекстного редактирования. В этом уроке вы узнаете
Используете другую систему? BigTree CMS 4.2 - это быстрая и легкая бесплатная система управления контентом (CMS) корпоративного уровня с открытым исходным кодом и широким
Используете другую систему? Microweber - это CMS с открытым исходным кодом и онлайн-магазин. Исходный код микропровода размещен на GitHub. Это руководство покажет вам
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше