1 直接拉取源码部署
luolongfei edited this page 2022-05-15 12:49:11 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

所有操作均在Centos7系统下进行其它Linux发行版大同小异

1、获取源码

创建文件夹

mkdir -p /data/wwwroot/freenom && cd /data/wwwroot/freenom

clone 本仓库源码

git clone https://github.com/luolongfei/freenom.git ./

2、修改配置

复制配置文件模板

cp .env.example .env

编辑配置文件

vim .env
# 注意事项
# .env 文件里每个项目都有详细的说明,这里不再赘述,简言之,你需要把里面所有项都改成你自己的。需要注意的是多账户配置的格式:
# e.g. MULTIPLE_ACCOUNTS='<账户1>@<密码1>|<账户2>@<密码2>|<账户3>@<密码3>'
# (注意不要省略“<>”符号,否则无法正确匹配)
# 当然,若你只有单个账户,只配置 FREENOM_USERNAME 和 FREENOM_PASSWORD 就够了,单账户和多账户的配置会被合并在一起读取并去重。

# 编辑完成后按“Esc”回到命令模式输入“:wq”回车即保存并退出不会用 vim 编辑器的可以谷歌一下:)

3、添加计划任务

3.1 安装 crontabs 以及 cronie
yum -y install cronie crontabs

验证 crond 是否安装及启动

yum list cronie && systemctl status crond

验证crontab是否安装

yum list crontabs $$ which crontab && crontab -l
3.2 打开任务表单,并编辑
crontab -e
# 任务内容如下
# 此任务的含义是在每天早上 9点 执行 /data/wwwroot/freenom/ 路径下的 run 文件,最佳实践是将这个时间修改为一个非整点的时间,防止与很多人在同一时间进行续期操作导致 freenom 无法稳定提供服务
# 注意某些情况下crontab 可能找不到你的 php 路径,下面的命令执行后会在 freenom_crontab.log 文件输出错误信息,你应该指定 php 路径:把下面的 php 替换为 /usr/local/php/bin/php (根据实际情况,执行 whereis php 即可看到 php 执行文件的真实路径)
00 09 * * * cd /data/wwwroot/freenom/ && php run > freenom_crontab.log 2>&1
3.3 重启crond守护进程每次编辑任务表单后都需此步以使任务生效
systemctl restart crond

若要检查计划任务是否正常,你可以将上面的任务执行时间设置在几分钟后,然后等到任务执行完成, 检查/data/wwwroot/freenom/目录下的freenom_crontab.log 文件内容,是否有报错信息。常见的错误信息如下:

  • /bin/sh: php: command not found
  • /bin/sh: /usr/local/php: Is a directory

(点击即可展开或收起)

解决方案

执行

whereis php
# 上面的命令可确定 php 执行文件的位置一般输出为“php: /usr/local/php /usr/local/php/bin/php”选长的那个即/usr/local/php/bin/php

现在我们知道 php 执行文件的路径是/usr/local/php/bin/php(根据你自己系统的实际情况,可能不同),然后修改表单任务里的命令,把

00 09 * * * cd /data/wwwroot/freenom/ && php run > freenom_crontab.log 2>&1

改为

00 09 * * * cd /data/wwwroot/freenom/ && /usr/local/php/bin/php run > freenom_crontab.log 2>&1

更多参考:点这里

当然,如果你的计划任务能正确找到php路径,没有错误,那你什么也不用做。

至此,所有的配置都已经完成,下面我们验证一下整个流程是否走通。

3.4 验证

你可以先将.env中的NOTICE_FREQ的值改为1即每次执行都推送通知然后执行

cd /data/wwwroot/freenom/ && php run

不出意外的话,你将收到一封关于域名情况的邮件。

有关 直接拉取源码部署 的内容结束。