如何在Ubuntu上安装scrapy与mongodb
前言:这个星期最初本想在windows上搭建scrapy环境,但是windows实在是太不友好了,mongodb始终安装不好,再考虑到之前有些库在windows上不适用,于是痛定思痛,决定重新搭建一个虚拟机环境。
一、虚拟机
平台:virtualbox
版本:Ubuntu 16.04
二、安装python3
最简单的方法
命令行输入:
sudo apt install python3
不行再尝试下面的方法
- python3官网 https://www.python.org/
3.
4.解压
tar xvf Python-3.6.0a1.tar.xz
(文件名改成自己下载的文件名)
5.编译安装
先进入刚刚解压的目录
输入以下命令
./configure
make && make install
顺带安装pip3
sudo apt-get install python3-pip3
6.测试
输入python3
如图则安装成功
三、scrapy的安装
首先安装一些基础库
sudo apt-get install -y python3-dev build-essential libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev libcurl4-openssl-dev
如果出错,可能是上面的某个库被我拼错了
再使用命令安装
pip3 install Scrapy
如果出错,极大可能是缺少某个库,可以根据报错信息,安装那个库
四、mongodb的安装
MongoDB官网:https://www.mongodb.com/
点击左上角的docs
最左边一条目录 点击get started
点击installation
选择对应的版本,我选的是community
点击 on linux
选择自己的版本 我安装的是Ubuntu
下面给出了两种安装方法,可以随意选择,我倾向于第一种,跟着他的命令提示执行就可以
注意:因为mongodb运行需要如下图的两个文件夹的操作权限,所以我们需要给予他们权限
sudo chmod 777 /var/lib/mongodb
sudo chmod 777 /var/log/mongodb
//如果觉得777权限太大,可以考虑755 或者 +x
安装成功确认:
输入命令:
sudo service mongod start
打开文件 /var/log/mongodb/mongod.log
如果出现一行
[initandlisten] waiting for connections on port 27017
即安装成功,可以运行
如果为了远程连接使用,我们还需要配置一下MongoDB的远程连接用户名和密码(为了安全性)
首先进入命令行
mongo --port 27017
进入命令交互页面
>use admin
switched to db admin
>db.createUser({user:'admin',pwd:'admin123',roles:[{role:'root',db:'admin'}]})
successfully added user:{
"user":"admin",
"roles":[
{
"role":"root",
"db":'"admin'
}
]
}
以上内容 前面带>为需要输入的内容,其余为反馈内容
这样就创建了一个用户名为admin,密码为admin123的用户,赋予做高权限
还需要修改MongoDB的配置文件
sudo vi /etc/mongod.conf
修改net部分
net:
port:27017
bindIp:0.0.0.0
另外还需要添加如下的权限认证配置,直接添加到配置文件中的security选项下
authorization:enabled
注:mongod.conf 打开一定是有内容的,如果没内容可能是打开的文件不对,或者安装过程出错
接下来重启MongoDB
sudo service mongod restart
附:安装PyMongo
为了对接python使用,还需要安装pymongo这个库
直接使用命令即可
pip3 install pymongo
验证安装