云原生生态圈 · 往期推荐

云原生生态圈之玩转容器系列文章

云原生生态圈之运维架构专辑文章

云原生生态圈之DevOps理论与实践系列文章

云原生生态圈之Kubernetes理论与实践系列文章

云原生生态圈之Go语言系列文章   技术源于生活系列视频

上个周末,把自己的个人博客站点[1]上线了,大家的感兴趣的可以收藏和订阅哈,以后的学习文章都会第一时间同步到这里:https://devopsman.cn

很多有经验的大神一眼就能看到这里wordpress做的,之前使用过hugo和Hexo,但是怎么说呢,不是很满意,所以在没有遇到满意的主题之前,先暂时使用这个吧。

在周末折腾完WordPress之后,发现他的留言功能看起来很鸡肋,比如再写一些笔记的时候,一篇文章是写不完的,但是评论的话只能在某一篇文章下留言讨论,这样时间长了就不利于学习和检索。但是论坛可以随时针对某个话题开启讨论,于是就找到了flarum了。

用来记录和提供大家在线讨论技术问题的地方,主要是看上了他的简洁、清爽,最主要是他那个交流区的时间线,如下如:

建设背景

方便针对某一技术话题进行讨论。方便检索。毕竟QQ群、微信群大多都是吹水,也不利于信息归纳和检索。大家懂得都懂。。。

手动安装

记录下flarum的搭建过程。

因为我的个人博客站点用的就是wordpress.所以环境里面有现成的PHP环境,遵循官方文档直接开整既可,如果你的环境是干净的,那么你需要提前安装PHP、php-fpm等软件环境,以及composer的支持,具体可参考的flarum中文社区安装文档[2]

flarum是通过composer安装,所以先安装composer

# wget -O composer-setup.php https://getcomposer.org/installer
# php composer-setup.php --install-dir=/usr/local/bin --filename=composer
# composer -v
Composer version 2.2.4 2022-01-08 12:30:42

下一步创建个flarum文件的安装目录,直接下载源码到此目录

mkdir /apps/flarum && cd $_
# 下载flarum源码
composer create-project flarum/flarum . --stability=beta --ignore-platform-req=ext-fileinfo

最后就是配置nginx代理flarum论坛了.注意一些有注释的参数,需要配置或者修改。

server {listen 80;listen 443 ssl http2;ssl_certificate /www/server/panel/vhost/nginx/ssl/flarum.devopsman.cn_bundle.pem; # flarum论坛的https证书ssl_certificate_key /www/server/panel/vhost/nginx/ssl/flarum.devopsman.cn.key;#include snippets/ssl-params.conf;# should be changedserver_name flarum.devopsman.cn; # 修改到自己的域名client_max_body_size 20m; # 修改root /www/flarum/public/; # flarum的安装目录index index.php index.html;server_tokens off;access_log /www/wwwlogs/flarum-access.logi main; # 定义论坛的日志解析格式以及存储位置error_log /www/wwwlogs/flarum-error.log;# prevent webshell attacklocation ~ ^/assets.*\.php {deny all;return 404;}location ~ \.php$ {try_files $uri =404;fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass 127.0.0.1:9000; # 此处是解析php的php-fpm服务地址fastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;}# Pass requests that don't refer directly to files in the filesystem to index.phplocation / {try_files $uri $uri/ /index.php?$query_string;}location = /sitemap.xml {try_files $uri $uri/ /index.php?$query_string;}# The following directives are based on best practices from H5BP Nginx Server Configs# https://github.com/h5bp/server-configs-nginx# Expire rules for static contentlocation ~* \.(?:manifest|appcache|html?|xml|json)$ {add_header Cache-Control "max-age=0";}location ~* \.(?:rss|atom)$ {add_header Cache-Control "max-age=3600";}location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc)$ {add_header Cache-Control "max-age=2592000";access_log off;}location ~* \.(?:css|js)$ {add_header Cache-Control "max-age=31536000";access_log off;}location ~* \.(?:ttf|ttc|otf|eot|woff|woff2)$ {add_header Cache-Control "max-age=2592000";access_log off;}# Gzip compressiongzip on;gzip_comp_level 5;gzip_min_length 256;gzip_proxied any;gzip_vary on;gzip_typesapplication/atom+xmlapplication/javascriptapplication/jsonapplication/ld+jsonapplication/manifest+jsonapplication/rss+xmlapplication/vnd.geo+jsonapplication/vnd.ms-fontobjectapplication/vnd.api+jsonapplication/x-font-ttfapplication/x-web-app-manifest+jsonapplication/xhtml+xmlapplication/xmlfont/opentypeimage/bmpimage/svg+xmlimage/x-icontext/cache-manifesttext/csstext/plaintext/vcardtext/vnd.rim.location.xloctext/vtttext/x-componenttext/x-cross-domain-policy;
}

到这里基本上就完成了。在初始化的时候,需要初始化MySQL数据库,因此你提前准备好远程连接的账号即可。访问地址:https://flarum.devopsman.cn

这就是flarum的首页。部署的时候也遇到一些问题,比如上传图片的时候发现接口报500,这些问题都是可以通过flarum安装目录下的运行日志找到问题原因:

flarum的分类的标签也是很有特色,可以快速阅览指定标签的讨论:

容器化

因为我自己的运行环境中已经有了nginx、php、MySQL等,所以对我来说直接安装flarum是更省事高效的,如果你是从零开始,可以使用容器化部署:

https://github.com/devsecops-ecosystem/flarum-docker-env.git

这里直接可以通过docker-compose一键式部署起来,稍微修改下就可以了。

最后就是,欢迎大家一起来建设和维护 云原生生态圈-技术论坛

参考资料

[1]

云原生生态圈: https://devopsman.cn

[2]

flarum中文文档: https://discuss.flarum.org.cn/d/1246

嗨,我的技术论坛上线啦!相关推荐

  1. 专访京东副总裁翁志:全方位解读 CNCC 2018「数据开创商业新生态」技术论坛 | CNCC 2018...

    雷锋网 AI 科技评论按:电子商务在中国高速发展的十余年中,为零售行业在成本.效率和体验上带来了颠覆式的发展.而近年来人工智能技术的发展,又带来了零售业态的新升级,即线上与线下零售逐渐走向融合,零售终 ...

  2. 海思技术交流论坛/知扬开源技术论坛

    支持华为海思国产芯片行业技术发展,大家可以去看一下最新才上线的海思专业方案论坛:知扬开源技术论坛,海思论坛 论坛比较专业,资料很齐全,非常适合技术开发人员进来交流学习,而且论坛本身提倡整合供应链做出最 ...

  3. 三星发布2亿像素传感器并举办第三届未来技术论坛;福瑞泰克新智能制造工厂在乌镇开工 | 全球TMT...

    大公司动向 发表开幕主旨致辞的三星半导体董事长杨杰 三星9月2日在深圳举办第三届未来技术论坛.星半导体的存储事业部和S.LSI事业部,以及三星显示.三星电机.三星SDI等五个领域的代表,历时3个小时, ...

  4. 卡巴斯基中国官方技术论坛即将开放

    卡巴斯基筹备已久的官方技术论坛近期将上线,将给众多卡巴斯基粉丝和技术爱好者提供一个沟通交流的平台. 早前,卡巴斯基顺应本地化服务策略,开通400技术支持热线. 在艾瑞最新的一份报告中,国内安全软件市场 ...

  5. 国际顶级学界业界大咖云集,9 场技术论坛布道,2019 嵌入式智能国际大会强势来袭!...

    2019 嵌入式智能国际大会即将来袭!购票官网:https://dwz.cn/z1jHouwE 2019年12月6日-8日,2019嵌入式智能国际大会将在深圳华侨城洲际大酒店举行.本次大会由哈尔滨工业 ...

  6. 现在的我为什么不泡技术论坛了

    作为我自己亲身体验我认为:做为一个技术人员,如果有泡技术论坛的习惯,技术会上升很快,视野也更开阔. 但是我发现,这几年我泡的论坛越来越少,而有些在论坛里所见的大牛也渐渐不见了身影. 总结一了一下自己最 ...

  7. 物联网改变生活——飞思卡尔技术论坛中国站侧记

    近日,飞思卡尔技术论坛(FTF)中国站在深圳举行.飞思卡尔总裁兼首席执行官Gregg Lowe亲临论坛,布道物联网.论坛提供了超过110个小时的技术培训课程,涵盖汽车.消费电子.医疗保健.工业.网络. ...

  8. 【IT职场生存手册】他山之石,可以攻玉【51CTO技术论坛】

    http://bbs.51cto.com [IT职场生存手册]他山之石,可以攻玉         人生的每条路对于我们都是新的,因为不能重新来过.所以会有很多困惑.疑虑,就想混在IT职场的人们,常常看 ...

  9. 2021年度中国计算机大会的技术论坛,值得一谈

    CCF秘书长唐卫清详细介绍了今年CNCC技术论坛,无论是从数量.质量,或是覆盖范围的角度来说,本届CNCC技术论坛都超过了往届,将为参会者带来学术.技术.产业.教育.科普等方面的全方位体验. 中国计算 ...

最新文章

  1. 和dump文件_SRA数据库及下载二代测序原始数据转换为fastq文件
  2. Silverlight的4个版本
  3. Arrays和Collection之间的转换
  4. CodeForces - 1293D Aroma's Search(暴力)
  5. EDAS提交论文字体未嵌入
  6. c++ 隐藏进程_Linux 查看进程的动态信息
  7. python三种等待方式_Python selenium 三种等待方式详解
  8. 敏捷估算:故事点与直接估算天数的差异
  9. iOS 9检测QQ、微信是否安装
  10. 给大家推荐个vs里面的小插件,自动对齐代码
  11. python 样条曲线_用SymPy构造符号插值样条曲线
  12. jquery实现进度条
  13. Java读写文件的常用方法
  14. 图像超分变率与分辨率
  15. 计算机常用的输出设备有什么作用,常用的多媒体输入输出设备有哪些,主要功能是什么...
  16. RegSVR32 找不到指定模块问题解决
  17. 哈工大计算机系统大作业
  18. Python实现excel表格合并
  19. Mining Spatio-Temporal Reachable Regions over Massive Trajectory Data
  20. 【IDEA保姆级教程】快捷键

热门文章

  1. kuka机器人offset指令_KUKA机器人MADA详解.doc
  2. 计算机用鼠标画图,实现鼠标在电脑上画画
  3. 贵金属实时行情看盘软件排行榜(top 10)
  4. 360金融路演PPT曝光:周鸿祎持股14% 预计中旬上市
  5. 测试2k显示器的软件,高性价比的27吋2K显示器 AOC Q27P1U评测
  6. 一个海底隧道中只有一个车道,规定同一个方向的可以连续过隧道。某方向有列车过隧道时,另一个方向的列车就要等待, 现在东岸和西岸都有列车要过隧道,如果把每个过隧道的列车看作一个进程,使用P、V操作
  7. python基于广度优先(BFS)的迪杰斯特拉(Dijkstra)算法 求最短路径
  8. 赶紧投入es6的怀抱吧
  9. sentinel滑动时间窗口算法学习
  10. 立体几何中常见的建系类型汇总