返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Flarum部署:从源码到docker到放弃
  • 409
分享到

Flarum部署:从源码到docker到放弃

dockerphp容器 2023-09-02 09:09:15 409人浏览 薄情痞子
摘要

警告: 此篇文章前半段记录了我用代码部署flarum遇到的一些问题和解决办法,但是可能是由于我是在不熟悉PHP的框架结构,最终我还是选择了使用Docker进行部署,请斟酌是否继续阅读本文。 Hello

警告:
此篇文章前半段记录了我用代码部署flarum遇到的一些问题和解决办法,但是可能是由于我是在不熟悉PHP框架结构,最终我还是选择了使用Docker进行部署,请斟酌是否继续阅读本文。

Hello,大家好,我是内网部署区博主橘子。
Flarum是个非常漂亮的轻量级论坛框架。
我本来想在内网部署一个这个东西当做数据共享的平台,奈何如我警告里说的那样。
一开始计划用代码部署,因为自由度更高。
后来发现用docker也是一样,就是需要修改一下指令而已。推荐如果有需要的朋友还是使用docker部署。
docker真的香!

文章目录

1.安装php

直接用apt安装就行

2.安装Nginx

也用apt安装

3.安装composer

https://blog.csdn.net/qq_44678350/article/details/126478108
直接下载二进制文件该权限放路径,我就喜欢这么粗暴的。为后面埋下了一个伏笔,这里是由于Https的证书问题所以我选择用下载的方式安装composer,但是后面还是遇到了证书问题需要解决。

4.安装flarum

composer create-project flarum/flarum .
注意这里需要一个空的目录,如果目录里面有东西他就不让你装了。

如果你在这一步遇到这个问题,

Your requirements could not be resolved to an installable set of packages.  Problem 1    - flarum/pusher[v1.0.0, ..., v1.6.0] require pusher/pusher-php-server ^2.2 -> satisfiable by pusher/pusher-php-server[v2.2.0, ..., 2.6.4].    - pusher/pusher-php-server[v2.2.0, ..., 2.6.4] require ext-curl * -> it is missing from your system. Install or enable PHP's curlextension.    - Root composer.JSON requires flarum/pusher * -> satisfiable by flarum/pusher[v1.0.0, ..., v1.6.0].To enable extensions, verify that they are enabled in your .ini files:    - /etc/php/8.1/cli/php.ini    - /etc/php/8.1/cli/conf.d/10-opcache.ini    - /etc/php/8.1/cli/conf.d/10-pdo.ini    - /etc/php/8.1/cli/conf.d/20-calendar.ini    - /etc/php/8.1/cli/conf.d/20-ctype.ini    - /etc/php/8.1/cli/conf.d/20-exif.ini    - /etc/php/8.1/cli/conf.d/20-ffi.ini    - /etc/php/8.1/cli/conf.d/20-fileinfo.ini    - /etc/php/8.1/cli/conf.d/20-ftp.ini    - /etc/php/8.1/cli/conf.d/20-gettext.ini    - /etc/php/8.1/cli/conf.d/20-iconv.ini    - /etc/php/8.1/cli/conf.d/20-phar.ini    - /etc/php/8.1/cli/conf.d/20-posix.ini    - /etc/php/8.1/cli/conf.d/20-readline.ini    - /etc/php/8.1/cli/conf.d/20-shmop.ini    - /etc/php/8.1/cli/conf.d/20-Sockets.ini    - /etc/php/8.1/cli/conf.d/20-sysvmsg.ini    - /etc/php/8.1/cli/conf.d/20-sysvsem.ini    - /etc/php/8.1/cli/conf.d/20-sysvshm.ini    - /etc/php/8.1/cli/conf.d/20-tokenizer.iniYou can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.Alternatively, you can run Composer with `--ignore-platfORM-req=ext-curl` to temporarily ignore these required extensions.

我一开始以为他说的extensions是指flarum的extensions
后来我才发现,他指的是php的插件
所以你需要用apt-get install php-curl指令来装 php的插件
在这里插入图片描述
根据官网的提示,他需要这些插件,但是你不用一个个去安装,缺啥装啥就行。
我缺了curl和dom两个插件,php版本是8.1.

5.composer更换源

composer config -g repo.packaGISt composer https://mirrors.aliyun.com/composer/
奇怪的是这个指令我执行了一次并没有更换成功,执行第二次才更换成功。
可以通过composer config -g -l指令查看是否更换成功

在这里插入图片描述
这样应该就是更换成功了。

6.应该是nginx和php运行时的衔接问题,无法解决,是在是没搞懂php在linux上的运行架构是什么样的,在此步放弃,转用docker

我选的是nginx做反向,但是一直无法成功,一直显示500
在这里插入图片描述

发现我的Php根本就没有启动,回想我前面还强制关掉了apache,我预计,nginx和php还需要修改某些配置。

设置Php程序监听端口

遇到权限问题

"/home/zz/flarum/public/" failed (13: Permission denied), client: 192.168.1.36, server:192.168.1.31, request: "GET / HTTP/1.1", host: "192.168.1.31"

解决不了php的权限太绕了,搞不懂放弃,继续用docker.

7.docker部署的插件安装问题

docker exec -ti flarum extension require flarum-lang/chinese-simplified

docker exec -ti flarum composer require flarum-lang/chinese-simplified

比较一下上面两个指令有什么区别,区别就在这个extentsion和composer

当你使用docker部署的时候,应该是镜像的制作人对composer单独做了一个封装,docker里面的flarum系统用到的是extentsion是独立于composer的一个封装,所以咱查到的所有指令都要改成用extentsion

7.数据库中文检索问题

我自己接入了一个Mysql据库,中文索引构建可以查看下面这位大佬。

https://www.cnblogs.com/ztxd/articles/16739111.html

修改 mysql.cnf,加入:

[mysqld] ngram_token_size=2 修改后需要重建 FULLTEXT 索引

ALTER TABLE flarum_posts DROP INDEX content; CREATE FULLTEXT INDEX
content ON posts (content) WITH PARSER ngram; (如果你有表前缀,给 posts
加上前缀即可,下面都是如此。)

ALTER TABLE flarum_discussions DROP INDEX title; CREATE FULLTEXT INDEX
title ON discussions (title) WITH PARSER ngram; (注意表前缀)

上面提到的前缀你可以看一下你的表,在配置flarum的数据库的时候填写的那个pref就是前缀。

然而,mysql的检索方案不是完美的,分词不清晰。
加上许多插件的使用有点诡异,php composer环境的不理解。
至此,虽然我很喜欢Flarum的界面,但是我放弃使用这个框架。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

来源地址:https://blog.csdn.net/u013113491/article/details/128291472

--结束END--

本文标题: Flarum部署:从源码到docker到放弃

本文链接: https://www.lsjlt.com/news/390457.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Flarum部署:从源码到docker到放弃
    警告: 此篇文章前半段记录了我用代码部署flarum遇到的一些问题和解决办法,但是可能是由于我是在不熟悉php的框架结构,最终我还是选择了使用docker进行部署,请斟酌是否继续阅读本文。 Hello...
    99+
    2023-09-02
    docker php 容器
  • Python从入门到放弃
    01 计算机基础之编程 02 计算机组成原理 03 计算机操作系统 04 编程语言分类 05 Python和Python解释器 06 执行Python程序的两种方式 07 Python集成开发环境 08 变量 09 内存管理 10 ...
    99+
    2023-01-31
    入门 Python
  • python从入门到放弃(二)
    ASCII码:主要用来显示英文和其他西欧语言,用8位来表示,也就是一个字节,最多只能显示256个符号 UNICODE:也叫万国码,为了解决传统的字符编码方案的局限而产生的,它为每种语言的每个字符都设定了二进制编码,最少用16位来表示,也...
    99+
    2023-01-31
    入门 python
  • python从入门到放弃(一)
    python解释器的环境搭建 上一篇简单介绍了一下pythonpython该如何使用呢 专业点说我们需要下载一个python解释器,简单点说就是下个python 首先呢,找到python官网点这儿 进去以后点下载(电脑已经装过3.7,所以...
    99+
    2023-01-31
    入门 python
  • Python从入门到放弃(Mac) -
    1. First of all, install python, I chose the latest version. Download: https://www.python.org/downloads/mac-osx/ 首先安装啦,...
    99+
    2023-01-31
    入门 Python Mac
  • golang部署到docker
    在当今快速迭代的软件开发环境中,部署应用程序的过程变得越来越自动化和规范化。使用容器技术的一个主要好处是应用程序可以跨不同环境进行部署,并且它们的运行环境可以保持一致。Docker是一种流行的容器化技术,它可以为应用程序提供标准化的运行环境...
    99+
    2023-05-15
  • MySQL数据库从入门到放弃
    目录MySQL数据库从入门到放弃推荐阅读 MySQL数据库从入门到放弃 193 数据库基础 194 初识MySQL 195 Windows安装MySQL 196 Linux安装MySQL 197 Mac安装MySQL 198 MySQL存...
    99+
    2015-09-16
    MySQL数据库从入门到放弃
  • jenkins 部署vue到docker
    Jenkins是一款持续集成(CI)和持续交付(CD)工具,在软件开发流程中起着至关重要的作用。而Docker则是一种流行的容器化技术,能够方便地部署应用程序。在本文中,我们将介绍如何使用Jenkins将Vue应用程序部署到Docker容器...
    99+
    2023-05-18
  • 详解MySQL从入门到放弃-安装
    学习内容 1.软件安装及服务器设置。 2.(选做,但是强烈建议) 使用图形界面软件 Navicat for SQL 3.数据库基础知识 数据库定义 关系型数据库 二维表 行 列 主...
    99+
    2024-04-02
  • 后端API从入门到放弃指北
    了解一下一下概念. RESTful API标准] 所有的API都遵循[RESTful API标准]. 建议大家都简单了解一下HTTP协议和RESTful API相关资料. 阮一峰:理解RESTful架构 阮一峰:RESTful API...
    99+
    2023-01-31
    后端 入门 API
  • 部署.Net6项目到docker
    部署.net6项目到docker 【1】新建.net6 mvc或webapi项目; 【2】在mvc或webapi项目的根目录下创建Dockerfile文件,并设置为始终复制; Doc...
    99+
    2024-04-02
  • Android从入门到放弃—— 一、Activity详解1
    门——Activity(一) Activity是什么: Activity作为Andorid的四大组件之一,为用户提供了一个界面,即我们能看到的界面。相当于一张画画用的纸,我们可...
    99+
    2022-06-06
    activity Android
  • python爬虫从入门到放弃(九)之 R
    import requests from requests.exceptions import RequestException import re import json from multiprocessing import Poo...
    99+
    2023-01-30
    爬虫 入门 python
  • python学习计划大全(从入门到放弃)
    第一阶段-语言基础(15天) python基础语法 python字符串解析 python时间和日历 python文件操作,数据处理 python界面编程 python面向对象高级语法 命名空间和作用域应用案例分析 项目:图形界面实现数据查...
    99+
    2023-01-31
    学习计划 入门 大全
  • 如何部署.Net6项目到docker
    这篇文章主要介绍“如何部署.Net6项目到docker”,在日常操作中,相信很多人在如何部署.Net6项目到docker问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何部署.Net6项目到docker”的疑...
    99+
    2023-06-22
  • 【Linux从入门到放弃】Linux基本指令大全
    🧑‍💻作者: @情话0.0 📝专栏:《Linux从入门到放弃》 👦个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大...
    99+
    2023-09-09
    linux 服务器 运维
  • Go语言单元测试基础从入门到放弃
    目录Go语言测试go test工具单元测试函数格式单元测试示例go test -vgo test -run回归测试跳过某些测试用例子测试表格驱动测试介绍示例并行测试使用工具生成测试代...
    99+
    2024-04-02
  • docker容器部署到云服务器
    部署到云服务器的方式有很多,其中最简单的方式是使用Docker镜像。这种方式通常是直接将Docker镜像部署到云服务器上的容器中,因此只需要将云服务器与Docker镜像文件连接即可进行部署。下面是一些常见的Docker容器部署方式: 镜...
    99+
    2023-10-26
    容器 服务器 docker
  • Docker部署rabbitmq遇到的两个问题
    1.背景 Docker部署rabbitmq遇到的如下两个问题 问题一:访问交换机时报错 Management API returned status code 500 问题二:访问c...
    99+
    2024-04-02
  • IDEA部署Docker到WSL2的详细过程
    本地环境 Windows10+WSL2(Ubuntu),需要大家在服务器安装 Docker 之后,开启远程访问 sudo vi /etc/default/docker 修改配置 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作