CentOS搭建PySpider爬蟲服務

1. 環境準備

前置環境部署

在開始部署前,我們需要做一些前置準備 。

yum 更新

yum update -y

安裝開發編譯工具

yum install gcc gcc-c++ -y

安裝依賴庫

yum install python-pip python-devel python-distribute libxml2 libxml2-devel python-lxml libxslt libxslt-devel openssl openssl-devel -y

升級pip

pip install --upgrade pip

2. 部署 mariadb

由於 CentOS 7 中 MySQL 數據庫已從默認的程序列表中移除,我們使用 mariadb 代替。

安裝 mariadb

yum install mariadb-server mariadb -y

啓動 mariadb 服務

systemctl start mariadb

設置 root 密碼

默認的root用戶密碼爲空,你可以使用以下命令來創建 root 用戶的密碼(password 後的 uI7AAS5q 可以改爲任何你希望設置的密碼):

mysqladmin -u root password "uI7AAS5q"

檢查是否安裝成功

現在你可以嘗試通過以下命令來連接到 Mysql 服務器

mysql -u root -p

然後輸入您剛纔設置的密碼 ( 默認:uI7AAS5q ),如果一切正常,您應該可以在命令行看到以 MariaDB [(none)]>mysql> 開頭的提示了,說明連接成功。

此時輸入 SHOW DATABASES; 並回車,應該可以看到類似下面這樣的輸出,說明一切正常。

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.13 sec)

完成後,可以通過快捷鍵 Ctrl+C 或命令行鍵入 exit 來退出,進入下一步。

3. 部署 redis

下載、解壓安裝包

下載安裝包

wget http://download.redis.io/redis-stable.tar.gz

解壓安裝包

tar -xzvf redis-stable.tar.gz

移動解壓包到 /usr/local

mv redis-stable /usr/local/redis

編譯安裝

cd /usr/local/redis
make
make install

設置 redis 配置

設置配置文件路徑

mkdir -p /etc/redis
cp /usr/local/redis/redis.conf /etc/redis/redis.conf

修改 /etc/redis/redis.conf 文件的 daemonize 配置項爲如下:

daemonize yes

啓動 redis 服務

/usr/local/bin/redis-server /etc/redis/redis.conf

4. 部署 pyspider

安裝依賴

pip install --upgrade chardet
easy_install mysql-connector==2.1.3
easy_install redis

安裝 pyspider

pip install pyspider

配置 pyspider

首先創建配置目錄

mkdir /etc/pyspider

然後 /etc/pyspider 目錄下創建 pyspider.conf.json,參考下面的內容。

具體配置的說明文檔請參考 官方文檔

{
  "taskdb": "mysql+taskdb://root:[email protected]:3306/taskdb",
  "projectdb": "mysql+projectdb://root:[email protected]:3306/projectdb",
  "resultdb": "mysql+resultdb://root:[email protected]:3306/resultdb",
  "message_queue": "redis://127.0.0.1:6379/db",
  "webui": {
    "username": "root",
    "password": "uI7AAS5q",
    "need-auth": true
  }
}

其中 mysql 配置中的 root 爲您 mysql 的用戶名, root: 後面的 uI7AAS5q 爲您剛設置的密碼。

webui 配置中的 usernamepassword 爲您訪問 WebUI 時候需要的用戶名,你也可以不設置用戶名密碼,直接將 need-auth 設爲 false 即可。

啓動服務

pyspider -c /etc/pyspider/pyspider.conf.json

如果一切正常,現在訪問 http://yourip:5000http://yourdomain.com:5000,您應該可以看到 pyspider dashboard 的首頁了。

服務能夠正常啓動後,我們需要讓它能夠在後臺運行,您可以通過以下命令讓服務在後臺運行

nohup pyspider -c /etc/pyspider/pyspider.conf.json &

也可以使用官方推薦的 Supervisor 來啓動,這裏就不詳細介紹了,具體用法可以參考 Supervisor 的文檔

5 部署完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章