Инсталирайте Discourse на CentOS 7

Discourse е ново форумно решение с отворен код, което е просто, чисто и ясно. Реализира се с Ruby on Rails, Postgres база данни и Redis сървърен кеш. Този урок описва как да инсталирате Discourse на Vultr VPS с CentOS 7.

Изисквания

  • Vultr VPS с минимум 1GB RAM.
  • CentOS 7 x64, инсталиран на VPS.

Настройте суап файл

Трябва да настроите суап за 1GB RAM VPS. Ако вашият VPS има повече от 1GB RAM, можете да пропуснете тази стъпка. Ще създадем 2GB суап файл за 1GB RAM VPS.

  1. Създайте суап файла.

    dd if=/dev/zero of=/swapfile bs=1M count=2048
    mkswap /swapfile
    chmod 600 /swapfile
    
  2. Редактирайте fstab, за да добавите суап файла в таблицата с файлови системи.

    Отворете fstab с vi:

    vi /etc/fstab
    

    Добавете следния ред във файла:

    /swapfile       swap    swap    defaults      0       0
    
  3. Задайте политиката за използване на суап. Използвайте суап файла само когато системната памет е ниска.

    sysctl -w vm.swappiness=10
    echo vm.swappiness = 10 | tee -a /etc/sysctl.conf
    sysctl vm.vfs_cache_pressure=60
    echo vm.vfs_cache_pressure = 60 | tee -a /etc/sysctl.conf
    
  4. Разрешете суап файла.

    mount -a
    swapon -a
    
  5. Проверете състоянието на суап файла.

    swapon -s
    

    Ако суап файлът е активиран, ще видите следната информация.

    Filename                    Type    Size    Used    Priority
    /swapfile                  file     2097148 0       -1
    

Инсталирайте Docker

Изпълнете командата по-долу, за да инсталирате Docker на CentOS 7.

yum install docker

Ако сте деактивирали SELinux, по-добре го деактивирайте и в docker.

vi /etc/sysconfig/docker

Коментирайте ред 4.

#OPTIONS='--selinux-enabled'

Стартирайте услугата docker.

systemctl start docker
systemctl enable docker

Моля, имайте предвид, че ако рестартирате firewalld, ще ви трябва и рестартиране на docker. Тъй като firewalld ще премахне докер веригата от iptables, когато бъде рестартирана.

Инсталирайте Discours

Създайте папка с име discourseпод /varи клонирайте хранилището на Discourse.

mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse

Отидете в discourseпапката.

cd /var/discourse

Копирайте файла с конфигурационния шаблон на Discourse в папката контейнери.

cp samples/standalone.yml containers/app.yml

Конфигуриране на дискурса

  1. Отворете app.ymlс vi.

     vi containers/app.yml
    
  2. Ако използвате 1GB VPS, задайте споделения буфер на db като 128MB в app.yml.

    db_shared_buffers: "128MB"
    
  3. Променете UNICORN_WORKERSна 2 за 1GB RAM екземпляр.

    ## With 2GB we recommend 3-4 workers, with 1GB only 2
    UNICORN_WORKERS: 2
    
  4. Задайте своя имейл адрес за администраторския акаунт. Ще ви е необходим този имейл, за да регистрирате администраторския акаунт във вашия форум за дискурс.

    DISCOURSE_DEVELOPER_EMAILS: 'you@youremail.com'
    
  5. Задайте името на домейна за Discourse. Например, ние го задаваме като discourse.example.com, което означава, че ще бъде достъпен на URL адреса http://discourse.example.com/.

    ## TODO: The domain name this Discourse instance will respond to
    DISCOURSE_HOSTNAME: 'discourse.example.com'
    
  6. Конфигурирайте вашия пощенски сървър за Discourse.

    Ако вашият имейл сървър е на същия сървър с Discourse, конфигурирайте го по следния начин.

    DISCOURSE_SMTP_ADDRESS: smtp.example.com                               # (mandatory)
    DISCOURSE_SMTP_PORT: 587                                                              # (optional)
    DISCOURSE_SMTP_USER_NAME: YOUR_EMAIL_ACCOUNT                # (optional)
    DISCOURSE_SMTP_PASSWORD: YOURPASSWORD                             # (optional)
    DISCOURSE_SMTP_ENABLE_START_TLS: flase                                    # (optional, default true)
    DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
    

    Ако използвате отдалечен SMTP сървър, моля, редактирайте, app.ymlкакто следва.

    DISCOURSE_SMTP_ADDRESS: smtp.example.com                               # (mandatory)
    DISCOURSE_SMTP_PORT: 587                                                              # (optional)
    DISCOURSE_SMTP_USER_NAME: your@example.com                          # (optional)
    DISCOURSE_SMTP_PASSWORD: YOURPASSWORD                             # (optional)
    DISCOURSE_SMTP_ENABLE_START_TLS: true                                     # (optional, default true)
    
  7. Запазете и излезте app.yml.

Стартирайте и стартирайте Discourse

Изпълнете командата по-долу, за да стартирате Discourse.

./launcher bootstrap app

След като процесът на стартиране приключи, стартирайте Discourse.

./launcher start app

Отворете Discours във вашия браузър

На вашия клиентски компютър въведете името на домейна, което сте конфигурирали за Discourse в app.yml. Ще видите своя собствен екземпляр на Discourse.

Отстраняване на неизправности

  • По подразбиране Docker ще слуша на порт 80. Ако портът 80 вече е бил използван от Nginx или Apache, трябва да преместите тази услуга на друг порт; или сменете Docker на друг порт. Например променете „80:80“ на „8080:80“, за app.ymlда накарате Docker да слуша на порт 8080.
  • На 1GB RAM VPS може да не успее да актуализира Discourse до новата версия и ще видите „502 Bad Gateway“ при достъп до Discourse. Простото решение за този проблем е да стартирате, за ./launcher rebuild appда възстановите вашия екземпляр на Discourse.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

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

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

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

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

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

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече