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:June 19th, 2018 at 03:01 am
If you think my article is useful to you, please feel free to appreciate

9 comments

  1. LuoBo

    按照博主方法安装之后运行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
      @LuoBo

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

  2. 老莫

    签到没有了

    1. Mark
      @老莫

      你改版了吧

      1. 老莫
        @Mark

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

        1. Mark
          @老莫

          改天在弄下

  3. 林阿三

    打包带走了

  4. ZAERA

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

    1. Mark
      @ZAERA

      值得拥有

Leave a Comment