Встановіть Discourse на CentOS 7

Discourse — це нове рішення форуму з відкритим вихідним кодом, яке є простим, чистим і зрозумілим. Він реалізований за допомогою Ruby on Rails, бази даних Postgres і кешу сервера Redis. У цьому посібнику описано, як встановити Discourse на Vultr VPS з CentOS 7.

Вимоги

  • Vultr VPS з мінімум 1 ГБ оперативної пам’яті.
  • CentOS 7 x64, встановлений на VPS.

Налаштуйте файл підкачки

Ви повинні налаштувати swap для 1 ГБ оперативної пам’яті VPS. Якщо ваш VPS має більше 1 ГБ оперативної пам’яті, ви можете пропустити цей крок. Ми створимо файл підкачки 2 ГБ для 1 ГБ 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

Створіть папку з іменем discourseunder /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

Налаштувати Discourse

  1. Відкрийте за app.ymlдопомогою vi.

     vi containers/app.yml
    
  2. Якщо ви використовуєте 1 ГБ VPS, установіть загальний буфер db на 128 МБ у app.yml.

    db_shared_buffers: "128MB"
    
  3. Змініть UNICORN_WORKERSна 2 для екземпляра 1 ГБ оперативної пам’яті.

    ## With 2GB we recommend 3-4 workers, with 1GB only 2
    UNICORN_WORKERS: 2
    
  4. Встановіть адресу електронної пошти для облікового запису адміністратора. Вам знадобиться цей електронний лист, щоб зареєструвати обліковий запис адміністратора на вашому форумі Discourse.

    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.
  • На VPS з 1 Гб оперативної пам’яті він може не оновити Discourse до нової версії, і ви побачите «поганий шлюз 502» під час доступу до Discourse. Простим рішенням цієї проблеми є запуск, ./launcher rebuild appщоб перебудувати свій екземпляр Discourse.

Залишити коментар

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

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. Прочитайте цю статтю, щоб дізнатися більше