Mark

云服务器部署AMH数据库及qiandao.today教程
前言 之前Mark介绍过利用Synology(群晖)Docker安装签到框架的教程,那么今天给大家带来的是云服务器...
扫描右侧二维码阅读全文
19
2018/06

云服务器部署AMH数据库及qiandao.today教程

前言

之前Mark介绍过利用Synology(群晖)Docker安装签到框架的教程,那么今天给大家带来的是云服务器部署签到框架教程,希望能给你们带来帮助。

首先你要有一台云服务器或者VPS,安装Centos或者自己熟悉的linux系统,这里我用的是Centos6.5×86

很多人都是新手,所以就采用新手的方案一键装个主机管理面板AMH4.2免费版,之所以安装这个面板,是因为它的安装过程同时完善了很多后面我们需要的依赖库,真的适合新手和懒人使用!


AMH安装

AMH的安装比较简单,直接官方安装即可。
AMH 4.2 为独立的一套LNMP/Nginx虚拟主机面板,安装请使用纯净系统。编译安装方式 (安装时间15至25分钟)

1 使用 root 账号登录 Linux 服务器。

2 执行 AMH 安装脚本。

wget http://amh.sh/file/AMH/4.2/amh.sh && chmod 775 amh.sh && ./amh.sh 2>&1 | tee amh.log
3 根据提示输入选择1~3选项。1为安装amh,2为卸载amh,3为退出不做操作。
输入1回车,如果程序无法识别主机IP,还需要手工输入主机IP,接着输入MySQL与AMH密码即进入安装流程,安装过程大约需10至20分钟(以服务器性能为准),最后如看到安装成功提示,说明系统已安装完成。
成功安装后有必要请删除日志文件:amh.log,如安装失败需协助安装请把错误日志反馈给官方。
访问http://ip:8888 即可进入AMH web端管理,默认账号为admin。


QianDao.Todao简介

qiandao.today:一个自动签到框架 Base on an HAR Editor



下文中代码前带#的为注释,不一定正确,可以忽视,仅做参考和备注用。

配置Python


升级Python2.7 (Python 2.6.6 -> 2.7.13)
查看当前系统中的 Python 版本
python --version
返回 Python 2.6.6 。
检查 CentOS 版本
cat /etc/redhat-release
返回 CentOS release 6.9 (Final)
下载、编译和安装 Python 2.7.13
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
tar zxf Python-2.7.13.tgz
cd Python-2.7.13
./configure
make && make install
默认 Python 2.7.13 会安装在 /usr/local/bin 目录下。查询命令
ll -tr /usr/local/bin/python*
#返回结果:
/usr/local/bin/python2.7
/usr/local/bin/python2.7-config
/usr/local/bin/python -> python2
/usr/local/bin/python2 -> python2.7
/usr/local/bin/python2-config -> python2.7-config
/usr/local/bin/python-config -> python2-config
而系统自带的 Python 是在 /usr/bin 目录下。查询命令
ll -tr /usr/bin/python*
#返回结果
/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python
/usr/bin/python2 -> python
/usr/bin/python-config -> python2.6-config
更新系统默认 Python 版本 先把系统默认的旧版 Python 重命名。
mv /usr/bin/python /usr/bin/python2.6.6
再删除系统默认的 python-config 软链接。
rm -f /usr/bin/python-config
最后创建新版本的 Python 软链接。
ln -s /usr/local/bin/python /usr/bin/python
ln -s /usr/local/bin/python-config /usr/bin/python-config
ln -s /usr/local/include/python2.7/ /usr/include/python2.7
以上步骤做完以后,目录 /usr/bin 下的 Python 应该是
ll -tr /usr/bin/python*
#返回结果:
/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python2.6.6
/usr/bin/python2 -> python
/usr/bin/python -> /usr/local/bin/python
/usr/bin/python-config -> /usr/local/bin/python-config
查看新的 Python 版本
python --version
返回结果: Python 2.7.13 。 yum不兼容Python2.7,需要指定为原版本
vi /usr/bin/yum
将"!/usr/bin/python"改为"!/usr/bin/python2.6.6"

准备基础环境


安装Setuptools
为新版 Python 安装 setuptools
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
setuptools 正确安装完成后,easy_install 命令就会被安装在 /usr/local/bin 目录下了。这里也需要做软链接,否则easy_install的使用会出错。
rm -rf /usr/bin/easy_install
ln -s /usr/local/bin/easy_install /usr/bin/easy_install

安装PIP
为新版 Python 安装 pip
easy_install pip
正确安装完成后,pip 命令就会被安装在 /usr/local/bin 目录下了。为了pip正常使用,也需要做软链接
rm -rf /usr/bin/pip
ln -s /usr/local/bin/pip /usr/bin/pip

安装Virtualenv
su
pip install virtualenv
pip install virtualenvwrapper
virtualenv用于创建隔离的Python运行环境,依赖不同库和版本时避免混乱。
virtualenvwrapper为virtualenv上的扩展,提供更方便的命令。

按照Github说明安装QianDao.Today。
yum install python-devel
pip install tornado u-msgpack-python jinja2 chardet requests pbkdf2 pycrypto
pip install mysql-connector==2.1.6
在AMH中建立mysql数据库,设置用户名密码等后在AMH中装个phpMyAdmin模块将qiandao.sql数据库中导入
修改qiandao源码中config.py,添加自己的数据库信息,同时将
db_type = os.getenv(‘DB_TYPE’, ‘sqlite3’)
改为
db_type = os.getenv(‘DB_TYPE’, ‘mysql’)
将签到源码上传到服务器自己的目录中,比如qiandao,给于可执行权限
chmod +x -R /qiandao
先试运行一下,可以看到IP和端口
python /qiandao/run.py
一切完善后再用到后台运行脚本(注意自己run.py的路径),也可添加到开机自启动列表/etc/rc.d/rc.local中
nohup python /qiandao/run.py >/dev/null 2>nohup.out &
注册一个账号后设置管理员,可直接用命令或者在数据库中,将用户的 role值赋予为admin
/qiandao/chrole.py your@email.address admin
停止运行的方法:
执行命令:
ps -ax|grep run.py 
回车 
查询其进程如
2633 pts/1 S 0:01 python /qiandao/run.py 
说明PID为2633,那么就强制杀死此进程命令:
kill -9 2633   #-9的意思是强制

最后

1 配置反代。

2 下载获取cookie插件并修改适配网站。



获得模板


主机推荐

Last modification:March 27th, 2019 at 02:54 am
如本文“对您有用”,欢迎随意打赏我,让我坚持创作!

Leave a Comment

11 comments

  1. 铜钱   Android 8.0.0 Android 8.0.0 Opera 1.170623.032 Opera 1.170623.032

    大佬知道怎么解决500错误吗?情况是这样的,在宝塔上部署 https://github.com/binux/qiandao 的签到框架,然后注册账号后退出再登录就会提示500,增加模板之类的也是提示500,百度了下说是数据库没有写入权限,进phpmyadmin里把全局权限和按数据库指定权限都全选执行了,但还是提示500错误,用SQLite3就没问题,用MySQL就会这样,还有大佬上面的开机自启动是只需要改.run.py的路径就可以吗?后面的命令不用动?Debian9能用吗?


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 70.0.3538.102 Google Chrome 70.0.3538.102
      @铜钱

      最好是用AMH,环境齐全一点,按照教程配置就可,另外500错误除了数据库还有个情况会出现,那就是你在登录在编辑模板的环境中时退出再登录,那你在没登录的时候可能那个页面没有权限访问也会报500错误。


  2. LuoBo   Windows 7 x64 Edition Windows 7 x64 Edition Google Chrome 67.0.3396.99 Google Chrome 67.0.3396.99

    按照博主方法安装之后运行run.py发现报错,与本文不同的是我用了宝塔当面板,系统是centos6.4,32位版本。
    [root@VM_113_190_centos ~]# python /home/qd/run.py
    Traceback (most recent call last):
    File "/home/qd/run.py", line 42, in
    PeriodicCallback(worker, config.check_task_loop, io_loop).start()
    File "/usr/local/lib/python2.7/site-packages/tornado/ioloop.py", line 1209, in start
    self._schedule_next()
    File "/usr/local/lib/python2.7/site-packages/tornado/ioloop.py", line 1237, in _schedule_next
    self._update_next(self.io_loop.time())
    File "/usr/local/lib/python2.7/site-packages/tornado/ioloop.py", line 1244, in _update_next
    callback_time_sec = 1 + (self.jitter (random.random() - 0.5))
    TypeError: unsupported operand type(s) for *: 'EPollIOLoop' and 'float'


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 70.0.3538.77 Google Chrome 70.0.3538.77
      @LuoBo

      应该是缺少依赖库,还是建议用AMH安装。


  3. 老莫   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 66.0.3359.181 Google Chrome 66.0.3359.181

    签到没有了


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 67.0.3396.87 Google Chrome 67.0.3396.87
      @老莫

      你改版了吧


      1. 老莫   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 66.0.3359.181 Google Chrome 66.0.3359.181
        @Mark

        对阿,这段时间主题改的很多


        1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 67.0.3396.87 Google Chrome 67.0.3396.87
          @老莫

          改天在弄下


  4. 林阿三 贵宾   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 56.0.2924.90 Google Chrome 56.0.2924.90

    打包带走了


  5. ZAERA   Windows 10 x64 Edition Windows 10 x64 Edition Firefox 60.0 Firefox 60.0

    干活,要收藏的,没钱买群晖2333


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 67.0.3396.87 Google Chrome 67.0.3396.87
      @ZAERA

      值得拥有