在CentOS 7上安装Discourse

话语是一种新的开放源代码论坛解决方案,它简单,干净,直接。它是通过Ruby on Rails,Postgres数据库和Redis服务器缓存实现的。本教程描述了如何使用CentOS 7在Vultr VPS上安装Discourse。

要求

  • 最低1GB RAM的Vultr VPS。
  • VPS上安装了CentOS 7 x64。

设置交换文件

您必须为1GB RAM VPS设置交换。如果您的VPS具有超过1GB的RAM,则可以跳过此步骤。我们将为1GB RAM VPS创建一个2GB交换文件。

  1. 创建交换文件。

    dd if=/dev/zero of=/swapfile bs=1M count=2048
    mkswap /swapfile
    chmod 600 /swapfile
    
  2. 编辑fstab以将交换文件添加到文件系统表中。

    用vi打开fstab:

    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

运行以下命令以在CentOS 7上安装Docker。

yum install docker

如果您已禁用SELinux,则最好也在docker中禁用它。

vi /etc/sysconfig/docker

注释掉第4行。

#OPTIONS='--selinux-enabled'

启动docker服务

systemctl start docker
systemctl enable docker

请注意,如果重新启动firewalld,则还需要重新启动docker。因为firewalld在重新启动时会从iptables中删除docker链。

安装话语

创建一个名为的文件夹discourse/var并克隆Discourse存储库。

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

转到discourse文件夹。

cd /var/discourse

将Discourse配置模板文件复制到container文件夹中。

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对于1GB RAM实例,更改为2。

    ## With 2GB we recommend 3-4 workers, with 1GB only 2
    UNICORN_WORKERS: 2
    
  4. 设置您的管理员帐户的电子邮件地址。您将需要此电子邮件在您的Discourse论坛上注册管理员帐户。

    DISCOURSE_DEVELOPER_EMAILS: '[email protected]'
    
  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: [email protected]                          # (optional)
    DISCOURSE_SMTP_PASSWORD: YOURPASSWORD                             # (optional)
    DISCOURSE_SMTP_ENABLE_START_TLS: true                                     # (optional, default true)
    
  7. 保存并退出app.yml

引导并启动话语

运行以下命令以引导语篇。

./launcher bootstrap app

自举过程完成后,启动Discourse。

./launcher start app

在浏览器中打开Discourse

在您的客户端PC上,输入您为Discourse配置的域名app.yml。您将看到自己的Discourse实例。

故障排除

  • 默认情况下,Docker将侦听端口80。如果Nginx或Apache已经使用了端口80,则需要将该服务移至另一个端口;否则,端口将被侦听。或将Docker更改为另一个端口。例如,将“ 80:80”更改为“ 8080:80”,app.yml以使Docker在端口8080上侦听。
  • 在1GB RAM VPS上,可能无法将Discourse更新到新版本,并且在访问Discourse时会看到“ 502 Bad Gateway”。解决此问题的简单方法是运行./launcher rebuild app以重建您的Discourse实例。


Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

使用Nethogs监视网络带宽使用情况

使用Nethogs监视网络带宽使用情况

在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ

如何在CentOS 7上安装BoltWire CMS

如何在CentOS 7上安装BoltWire CMS

使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比

在CentOS 6上设置SA-MP San Andreas多人服务器

在CentOS 6上设置SA-MP San Andreas多人服务器

欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件

使用Etckeeper进行/ etc的版本控制

使用Etckeeper进行/ etc的版本控制

简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置

如何在CentOS 7上安装Microweber

如何在CentOS 7上安装Microweber

使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示

如何在CentOS 7上安装SonarQube

如何在CentOS 7上安装SonarQube

使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供

如何在CentOS 7上使用Mosh进行远程服务器管理

如何在CentOS 7上使用Mosh进行远程服务器管理

使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用

如何在CentOS 7上安装MoinMoin

如何在CentOS 7上安装MoinMoin

MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商

在CentOS 7上安装H2O Web服务器

在CentOS 7上安装H2O Web服务器

H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器

如何在Debian,CentOS和FreeBSD上使用Sudo

如何在Debian,CentOS和FreeBSD上使用Sudo

在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫

如何在Ubuntu 16.10上安装Countly Analytics

如何在Ubuntu 16.10上安装Countly Analytics

使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能

如何在CentOS 7上安装MODX CMS和Nginx

如何在CentOS 7上安装MODX CMS和Nginx

MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:

如何在CentOS 7 LAMP VPS上安装Lychee 3.1相册

如何在CentOS 7 LAMP VPS上安装Lychee 3.1相册

使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装

如何在CentOS 7上安装ERPNext开源ERP

如何在CentOS 7上安装ERPNext开源ERP

使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的

如何在CentOS 7 LAMP VPS上安装Paste 2.1

如何在CentOS 7 LAMP VPS上安装Paste 2.1

使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是

如何在CentOS 7上安装Seafile Server

如何在CentOS 7上安装Seafile Server

使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智

如何在CentOS 7上安装Kolab组件

如何在CentOS 7上安装Kolab组件

使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件

如何在CentOS 7 LAMP VPS上安装Omeka Classic 2.4 CMS

如何在CentOS 7 LAMP VPS上安装Omeka Classic 2.4 CMS

使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。