Ubuntu16.04搭建flarum论坛集群

Ubuntu16.04搭建flarum论坛集群

安装apache2和php7.1环境(两台服务器都要装):

1.首先我们先来安装PHP 7.1。介于官方的repository还没有更新7.1,我们需要添加一个知名的repository再进行安装(阿里云默认没有装add-apt-repository,所以需要先运行该命令):

$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php

2.更新一下repository, 然后安装apache, php相关环境:

$ sudo apt-get update
$ sudo apt-get install -y apache2 openssl php7.1 php7.1-mbstring php7.1-mysql php7.1-pdo-mysql php7.1-json php7.1-gd php7.1-dom php7.1-fileinfo php7.1-mcrypt php7.1-curl php7.1-zip php7.1-xml

$ a2enmod mod_rewrite

3.安装flarum论坛

$ cd /var/www && sudo mkdir flarum && sudo chmod 775 flarum && sudo chown www-data:www-data flarum

$ composer create-project flarum/flarum . –stability=beta

安装nginx服务器

4.安装nginx服务

$ sudo apt install nginx

至此论坛集群所需服务已安装完毕, 接下来配置apache和nginx

5.配置apache2, 根据000-default.conf拷贝一份配置文件出来, 然后编辑其中的内容(两台服务器都要改)

$ sudo vim /etc/apache2/ports.conf
增加如下内容(apache监听11111端口, 通过ip:11111就可以访问论坛了):
listen 11111

$ sudo vim /etc/apache2/sites-enabled/001-flarum.conf
增加如下内容:
<Directory /var/www/flarum>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

并把VirtualHost对应的端口改成11111:
<VirtualHost *:11111>

6.编辑flarum配置文件(数据库部分省略)

$ sudo vim /var/www/flarum/config.php
修改url(对应机器的ip:port):
'url' => 'http://192.168.20.190:11111'

7.配置nginx, 负载均衡需要配置upstream项, 此处使用ip_hash策略(其他策略不在此展开讨论)

$ sudo vim /etc/nginx/nginx.conf
在http{}配置项中添加如下内容:
include /etc/nginx/sites-enabled/*;

$ sudo vim /etc/nginx/sites-enabled/flarum_cluster.conf
添加如下内容:
upstream flarum {
ip_hash;
server 192.168.20.40:11111;
server 192.168.20.190:11111;
}
server {
listen 22222;
server_name localhost;
location / {
proxy_pass http://flarum;
}

8.重启两台apache服务器

$ sudo service apache2 restart

9.重启两台nginx服务器

$ sudo service nginx restart

PS:附上flarum论坛图片上传插件, 有需要的可以自行安装:https://github.com/flagrow/upload
论坛进群的图片上传同步处理可使用NFS的方式来处理, 具体NFS搭建方式请移步
https://blog.csdn.net/xls6006/article/details/80848614

至此论坛集群搭建完成, 可通过http://192.168.20.190:22222访问论坛了

猜你喜欢

转载自blog.csdn.net/xls6006/article/details/80858186