Обратный прокси Nginx с Ghost на Ubuntu 14.04

Ghost - это бесплатная блог-платформа с открытым исходным кодом, написанная на node.js , полностью настраиваемая и предназначенная для публикации.

Подготовьте сервер: обновите пакеты, установите Node.js и NPM

Мы продемонстрируем установку, войдя на сервер как root, так что нам не нужно будет добавлять sudoперед каждой командой. Если вы вошли как другой пользователь, помните, что вам понадобится sudo.

На вашем сервере выполните следующую команду, чтобы обновить индекс пакетов, обновить пакеты и установить nodejsи npm.

apt-get update
apt-get upgrade

apt-get install python software-properties-common gcc g++ make -y  # auto install
add-apt-repository ppa:chris-lea/node.js -y

Вывод этих команд должен быть похож на:

gpg: keyring `/tmp/tmpvpe2ugzj/secring.gpg' created
gpg: keyring `/tmp/tmpvpe2ugzj/pubring.gpg' created
gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpvpe2ugzj/trustdb.gpg: trustdb created
gpg: key C7917B12: public key "Launchpad chrislea" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

Автоматически ключ подписи пакета будет добавлен в связку ключей (чтобы можно было проверить загруженные пакеты), а PPA будет добавлен к APT sources.list.d.

Теперь давайте запустим:

apt-get update  # again 
apt-get install nodejs -y

Запустите, npmчтобы проверить установку. Вы увидите, npmкак использование выводится на экран:

Usage: npm <command>
...
...
[email protected] /usr/lib/node_modules/npm

Теперь мы можем установить Ghost.

Установка: Ghost и Nginx

Поскольку Ghost теперь считается «стабильным», его можно установить через npm. Установите с помощью следующей команды:

npm install -g ghost --production

Игнорируйте любые предупреждения на данный момент.

Далее мы запустим Ghost и проверим, работает ли он правильно.

cd /usr/lib/node_modules/ghost
npm start --production

Вывод должен выглядеть так:

> [email protected] start /usr/lib/node_modules/ghost
> node index

Migrations: Database initialisation required for version 003
...
Migrations: Complete
Ghost is running... 
Your blog is now available on http://my-ghost-blog.com 
Ctrl+C to shut down

Оно работает! Используйте Ctrl-C, чтобы выключить Ghost, и перейдите к следующему шагу: установка (и настройка) Nginx.

Nginx очень прост в установке. Запустите следующую команду:

apt-get install nginx

Nginx будет настроен так, чтобы разрешить подключение из любого места в сети к порту 80 (или 443, если используется SSL ) на вашем сервере, который затем перенаправляется (« проксируется ») на Ghost. Вот как люди подключаются к вашему блогу.

Настроить Nginx тоже не сложно. Выполните следующие шаги для настройки прокси Ghost.

Сначала удалите файл конфигурации по умолчанию:

cd /etc/nginx/
rm sites-enabled/default

Затем создайте новый файл конфигурации:

cd sites-available
touch ghost

Адаптируйте следующие строки в соответствии с вашими потребностями и вставьте что- нибудь вроде nanoили viвставьте это (вам нужно будет указать server_nameсвое доменное имя):

server {
    listen 80;
    server_name yourdomain.tld;
    access_log /var/log/nginx/yourdomain.tld.log;  # if you want logging

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;       
        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
    }
}

Ссылка на ваш файл конфигурации:

cd /etc/nginx
ln -s sites-available/ghost sites-enabled/ghost

Перезапустите Nginx:

service nginx restart

На этом этапе Nginx установлен, настроен и работает на вашем сервере.

И наконец: запуск Ghost автоматически

Supervisor - это система управления процессами, которая позволяет запускать Ghost при запуске без использования сценариев инициализации. Мы будем устанавливать Supervisor для управления Ghost.

Чтобы установить Supervisor, запустите:

apt-get install supervisor
service supervisor start

Затем создайте новый файл сценария в /etc/supervisor/conf.d/ghost.conf. Вставьте в это содержимое:

[program:ghost]
command = node /usr/lib/node_modules/ghost/index.js
directory = /usr/lib/node_modules/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"

Сохраните и закройте файл.

Далее нам нужно создать пользователя для Ghost и дать ему разрешения на доступ к файлам и базе данных Ghost. Запустите следующие команды:

useradd ghost
chown -R ghost /usr/lib/node_modules/ghost/
supervisorctl reread
supervisorctl update

Наша установка завершена!

Теперь вы можете контролировать Ghost, выполнив supervisorctl start ghostи supervisorctl stop ghost.



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше