今天看 JDK 的路径突然发现我在两台机子上,一台装在了 /usr/local/ 目录下,而我自己的 Mint 装在了 /opt/ 目录下。感觉对 Linux 目录结构还需要增加了解,就Google了一下。
/usr/local 和 /opt 目录设计为存放非系统级命令,而 /usr/local 目录一般用来防止管理员通过本地编译安装的程序,比如通过 ./configure; make; make install 等命令安装的程序,该目录的目的就是为了使用户产生的命令不和系统命令产生冲突。
/opt 目录一般用来安装非捆绑的软件程序,每个应用都有其自
Read more ...
在更改 SQLAlchemy Session 从每次请求都创建到共享同一个 Session 之后遇到了如下问题:
StatementError: (sqlalchemy.exc.InvalidRequestError) Can’t reconnect until invalid transaction is rolled back [SQL: ]
或者是
raised unexpected: OperationalError(“(_mysql_exceptions.OperationalError) (2006, ‘MySQL ser
Read more ...
记录一些 SSH 相关的内容,经常使用。
SSH 是 Secure Shell 的缩写,是一个应用层的加密网络协议,它不只可以用于远程登录,远程命令执行,还可用于数据传输。
当然它由 ssh Client 和 ssh Server 端组成,有很多实现,Ubuntu 上就默认安装的 OpenSSH, Client 端叫做 ssh, Server 端叫做 sshd. OpenSSH 只用来做远程登录和命令执行。
免密登录
查看本地 ~/.ssh/ 目录是否有 id_rsa.pub,如果没有,在本地创建公钥
ssh-keygen -t rsa
一
Read more ...
MySQL 命令行操作相关内容,防止遗忘。MySQL 常用命令记录,总结。
安装
Under Ubuntu
sudo apt update
sudo apt-get install mysql-server
sudo mysql_secure_installation
如果安装过程中没有弹出设置密码的对话,那么可以在安装完成后执行:
sudo mysql_secure_installation
来设置密码,及一些安全的设置。之后就可以用
sudo mysql -u root -p
来登录。
启动停止 MySQL 服务
可以使用如下
Read more ...
首先随便看看 Python 的镜像 就能看到非常多的版本,这些版本怎么选择呢。
首先解释几个常见的名词,其实都是 Linux 的发行版本
Stretch Debian 9
Jessie , 指的是 Debian 8
Wheezy Debian 7
Alpine 轻型 Linux 发行版
其次基于不同版本系统制作的镜像自身大小都有区别,比较精简的 python:2.7-slim 可能也要比 python:2.7-alpine 来的大。
Read more ...
最原始的 Scrapy 项目是只能将爬虫部署到单机上,如果要实现分布式爬虫就需要手动去维护一个待抓取的列表,那么 scrapy-redis 项目就是这样一个存在。
特性:
分布式抓取,可以部署多个 spider 实例,共享同一个 redis 队列
分布式后处理,抓取的内容会放到一个队列中,这样就意味可以开启足够多的实例来处理结果
提供了即插即用的组件,包括定时,去重,等等
Scrapy 的局限
Scrapy 已经能够满足大部分爬虫的需要,但是有一些场景 Scrapy 并不适用。
对于页面数量比较少的站点,并不需要 Scrap
Read more ...
VMware Workstation 12 虚拟机,适用于 RHEL/CentOS 7, Fedora 20-24, Debian 7-9, Ubuntu 16.04-14.14 and Linux Mint 17-18.
Prerequisites
确保系统 64 位
VMware 12 不支持 32 位 CPU
确保有 root 权限
安装
更新
apt-get update && apt-get upgrade # On Debian Systems
下载
wget 'http://www.vmwa
Read more ...
在学习 Flask 时接触 flask-rq2,然后知道了 python-rq 因为之前使用过 Celery ,所以对 python-rq 倒也没有多大的困惑。因为 python-rq 只依赖于 redis,相较于 Celery 轻量很多,如果在 Flask 中不需要非常繁重的后台任务队列(比如只有发送注册邮件任务)可以考虑使用 python-rq,毕竟有 flask-rq2 为 Flask 度身定做,结合 Flask 要比 Celery 容易很多。
RQ (Redis Queue) is a simple Python library for
Read more ...
tcpdump 是一个运行在命令行下的抓包工具,如果想知道网络中有什么在流通,那么 tcpdump 就是一个很好的工具。它允许用户拦截和显示发送或收到过程中网络连接到该计算机的 TCP/IP 和其他数据包。tcpdump 适用于大多数的类 Unix 系统操作系统(如 Linux,BSD 等)。类 Unix 系统的 tcpdump 需要使用 libpcap 这个捕捉数据的库就像 Windows 下的 WinPcap。
tcpdump 可以识别的协议有:
ARP
RARP
ICMP
TCP
UDP
IP
IPv6
App
Read more ...
Scrapy 是纯 Python 实现的爬虫框架(scraping and crawling framework),可以非常轻松地提取网页结构信息。最初设计时 Scrapy 仅仅作为网页抓取工具,但因其功能强大,配置简单,逐渐的被扩大使用范围,也经常被用于以下方面:
数据挖掘 Data Mining
信息处理 information processing
历史信息存储 historical archival
检测及自动化测试 monitoring and automated testing
因为网上的教程已经非常详细了,这里就重点
Read more ...