images/default2.jpg

Docker安装Discourse论坛/BBS系统(Nginx)

Wednesday, Aug 19, 2020

最近要做Flame中文站 的论坛模块,考虑到技术人社区的重要性,选用了Discourse论坛系统。安装过程相当坎坷,本篇文章就来记录下Docker安装Discourse论坛/BBS系统的全过程。 先决条件 你的服务器/主机已经妥善安装Docker 你的服务器/主机已经妥善安装Git 掌握Git基础 掌握Docker基础 掌握Bash基础 本篇文章的环境: 环境 版本 主机 阿里云ECS 操作系统 CentOS 7 开始 [epcl_box type=“notice”]即使有阿航的教程会较少大部分坑,在国内部署Discourse是仍然是较痛苦的一件事情。可以查询的资料微乎其微,如果你不喜欢折腾,请选用其他的论坛框架![/epcl_box] 配置 你的服务器的必须大于以下配置,否则你会无限踩坑: 双核CPU 1 GB 运行内存 64位 Linux内核系统 已经安装Docker 下载Discourse 创建一个目录,用于存放Discourse。比如: `mkdir /usr/local/discourse` 获得管理员权限: `sudo -s` 克隆discourse(命令后半段的路径和上方创建的保持一致): `git clone 'https://github.com/discourse/discourse_docker.git' /usr/local/discourse` 耐心等待完成。 完成后,进入该目录: `cd /usr/local/discourse` 修改配置 克隆示例配置文件: `cp samples/standalone.yml containers/app.yml` 打开文本编辑器,修改复制后的配置文件: `vim containers/app.yml` 配置国内镜像 如果你身在大陆,则需要进行镜像加速。找到配置文件中的templates块,添加国内镜像templates/web.china.template.yml: ` templates: - "templates/postgres.template.yml" - "templates/redis.template.yml" - "templates/sshd.template.yml" - "templates/web.template.yml" - "templates/web.china.template.yml"` 其他配置 注销或删除掉expose下面的80和443端口: ` expose: - "80:80" # http - "443:443" # https` 这里列出需要修改的几项(非完整配置文件):
2 minute read
images/default4.jpg

Homebrew切换国内镜像/切换回官方镜像

Monday, Aug 17, 2020

身在大陆,如果不使用国内镜像,每次下载软件都会怀疑人生。本篇文章就来记录下Homebrew如何切换国内镜像/切换回官方镜像。 先决条件 本篇文章环境: 环境 版本 MacOS Catalina 10.15.5 Homebrew 2.4.9 掌握Bash命令 已经完整安装Homebrew 实战开始 切换Homebrew源非常简单,只要输入几个命令就可以轻松搞定。 注意:如果你的MacOS系统的默认终端不是zsh,请把文中出现的所有.zshrc替换为你的终端的环境变量文件名! 切换至中科大国内镜像 1. 替换brew.git 在终端中依次输入以下命令: `cd "$(brew --repo)"` `git remote set-url origin 'https://mirrors.ustc.edu.cn/brew.git'` 2. 替换homebrew-core.git 在终端中依次输入以下命令: `cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"` `git remote set-url origin 'https://mirrors.ustc.edu.cn/homebrew-core.git'` 3. 替换homebrew-cask.git 在终端中依次输入以下命令: `cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"` `git remote set-url origin 'https://mirrors.ustc.edu.cn/homebrew-cask.git'` 4. 更新brew,使配置生效 输入以下命令: `brew update` 耐心等待命令行执行,直至完成。 [epcl_box type=“success”]至此,我们已经成功为brew配置了国内源!享受超高速度吧![/epcl_box] 切换至官方镜像 如果你发现国内镜像出了问题,或者外网“顺畅”了,你就需要切换至官方镜像咯。 1. 替换brew.git `cd "$(brew --repo)"` `git remote set-url origin 'https://github.com/Homebrew/brew.git'` 2. 替换homebrew-core.
1 minute read
images/default1.jpg

MacOS 安装 Homebrew 并替换国内源

Tuesday, Aug 11, 2020

因为最近刚刚换的Macbook,所以需要部署之前的开发环境。部署一部分以后发现很多都建议使用brew命令进行安装。本篇文章就来记录下MacOS如何安装Homebrew。 什么是Homebrew Homebrew是一个包管理器,方便管理你的软件(安装、升级与卸载)。 [epcl_box type=“information”]联想一下你安装手机应用时一般都会打开应用商店而不是去每个网站下载,你就很快能够理解它的重要性了。[/epcl_box] 安装Homebrew 海外安装 如果你是大陆用户,请直接跳转至下方的“大陆安装”。 如果你身在国外,安装Homebrew非常简单,只需要运行以下命令: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"` 如果返回:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused欢迎查看阿航写的教程《一步解决 Failed to connect to raw.githubusercontent.com port 443: Connection refused》 。 耐心等待一会儿,直到终端中提示: `Press RETURN to continue or any other key to abort` 点击回车(ENTER)键继续,然后继续耐心等待。 大陆安装 因为国内的外网环境很差,如果按照正常的方法安装,恐怕要到猴年马月去。这里给大家提供加速的方法。 访问官网 访问Homebrew官网 ,可以看到: 复制下方命令行中的链接: 在浏览器中访问该链接,并复制网页上的全部内容(如果电脑无法访问,可尝试在手机上访问): 粘贴至文本编辑器: 找到其中的BREW_REPO参数,替换值为git://mirrors.ustc.edu.cn/brew.git: 保存至电脑: 打开终端,为刚才的文件赋予权限(替换~/install_homebrew.sh为你刚才保存文件的路径): `chmod +x ~/install_homebrew.sh` 运行以下命令(仍然替换~/install_homebrew.sh为你刚才保存文件的路径): `/bin/bash -c ~/install_homebrew.sh` 当出现提示: `Press RETURN to continue or any other key to abort` 点击回车即可。享受飞一般的速度吧!(相较于原本的方法)
1 minute read
images/default3.jpg

Access denied for user

Monday, Aug 3, 2020

在开发的过程中坎坷不断。今天在Spring Boot中碰到了这个异常: `Caused by: com.mysql.cj.exceptions.CJException: Access denied for user 'root'@'localhost' (using password: YES)` 本篇文章就来记录下可能的情况以及解决方案。 问题原因 问题的根源就在数据库登陆上。肯定是账号和密码有误,所以我们要仔细检查配置文件,有以下几个地方容易出错: 情况一:检查配置文件是否包含空格 因为application.yml似乎并不会给我们的配置文件进行去空格处理,所以我们来仔细检查。配置文件人模人样的,看起来没啥问题: 结果一选中: 呵!其实不然。所以一定要去除多余的空格! 情况二:检查username和password值是否写反 因为26个字母中u在p的后面,所以默认的yml排序中username会在password下面。阿航就是踩了这个坑!以为用户名在上方,导致写反! 情况三:检查IP是否正确 如果确定账户密码正确,我们就来看看IP是否有误吧。 在数据库中输入以下SQL进行查询(这里以MySQL为例): ` SELECT CONCAT( USER, '@', HOST ) Result FROM mysql.USER;` 查看返回结果是否包含你的报错。如果不包含就说明你的IP未被创建。 情况四:检查数据库服务器配置 使用其他的软件连接你的数据库(如Navicat),使用相同的用户名和密码看看能否登陆。如果不能登陆则是数据库层的问题,与代码无关了。 结语 总之,解决方案就是细心。。
1 minute read