Publish: December 11, 2020
Category: 运维
No Comments
本文主要分享一个小技巧,如果你的环境中只有一个php版本,又想部署一个新的版本,但是又不想太繁杂,可以使用本文提供的一个简单方法。使用docker创建多PHP环境。
现有的物理环境版本如下,使用 php -v查看当前版本。
php -v
PHP 5.6.31 (cli) (built: Sep 6 2017 16:12:32)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2014, by Zend Technologies
例子中我的PHP版本是5.6,整个基础软件环境使用的是LNMP架构,想提供一个新的PHP版本。这里采用的docker最基本的方式。
手动安装方式:
#手动方式运行php docker容器
docker run -idt --name=php7.2 \
--restart=always \
-p 9001:9000 \
-v /home/wwwroot/xxxx:/var/www/html \
-v /opt/server/php:/usr/local/etc/php php:7.2-fpm \
--link mysql8:docker_mysql8 \
/bin/bash \
#手动方式运行mysql docker容器
docker run -idt --name=mysql8\
--restart=always \
-p 3307:3306 \
-v /server/mysql:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e "MYSQL_ROOT_PASSWORD=xxxx" \
mysql:8.0
阅读剩余部分...
Publish: December 10, 2020
Category: 运维
No Comments
本文主要介绍怎样安装和配置scrapyd以及使用scrapyd部署和运行scrapy爬虫。
安装
scrapyd依赖一下库
Python 2.7 以及更高版本
Twisted 8.0 以及更高版本
Scrapy 1.0 以及更高版本
six
如何安装Scrapyd取决于您使用的平台。一般的方法是从PyPI安装它:
#使用pip
pip install scrapyd
#使用conda
conda install -n py37 scrapyd
默认情况下scrapyd的配置文件在各个平台的安装位置如下,ubuntu下新版本安装后不再生成配置文件需要自行创建。
/etc/scrapyd/scrapyd.conf (Unix)
c:\scrapyd\scrapyd.conf (Windows)
/etc/scrapyd/conf.d/* (in alphabetical order, Unix)
scrapyd.conf
~/.scrapyd.conf (users home directory)
阅读剩余部分...
Publish: December 9, 2020
Category: 小技巧
No Comments
方式一:手动安装conda找打不的包
conda多个channel中都找不到dbutils则需要手动来安装。
conda install -c cefca -n py37 dbutils
#如果没有找到,需要手动安装
cd third_lib/DBUtils-2.0
python setup.py install
找到dbutils的pip仓 DBUtils · PyPI 下载源码。找个setup.py存放目录,解压之后在conda的激活环境中执行
python setup.py install
执行conda list 可以查看是否安装成功
方式二:使用pip安装conda中找不到的包
直接使用pip来安装,本身两者是不冲突的,直接执行
pip install dbuitls
Publish: December 8, 2020
Category: 数据分析
No Comments
conda安装:
首先是安装conda,anaconda是一个全的,Miniconda只包含python和conda,在下面的链接中找到对应的linux发行版的下载链接。
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
然后执行
bash Anaconda3-2020.11-Linux-x86_64.sh
其中会让你阅读license和配置安装路径,默认是PREFIX=/root/anaconda3
。之后等待一段时间以后就是
conda基本使用:
创建一个python3.9的环境
# 创建一个名为python39的环境,指定Python版本是3.9(不用管是3.9.x,conda会为我们自动寻找3.9.x中的最新版本
# 如果提示 `-bash: conda: command not found` 刷新下当前环境执行如下命令 `source /root/.bashrc`
conda create --name py39 python=3.9
阅读剩余部分...
Publish: December 1, 2020
Category: 编程,运维
No Comments
influxdb1.x版本中支持的CQs(连续查询)在influxdb2.x中被task取代,全新定义了一套新的规则,我们暂且称之为任务规则。
如果你是从1.x版本中迁移数据,可以直接将1.x中的CQs直接转换成task来执行比如我之前的一段CQs:
create continuous query flow_rx_cq on multiwan
begin
select sum(value)
into "multiwan_inf"."autogen"."flow_rx_cq_result"
from multiwan_raw_rx
group by time(30m), flashid,imei,imsi,iccid
end
转换之后对应的是
from(bucket: "multiwan/")
|> range(start: -3d)
|> filter(fn: (r) => r._measurement == "multiwan_raw_rx")
|> filter(fn: (r) => r._field == "value")
|> aggregateWindow(every: 1m, fn: sum)
|> set(key: "_measurement", as: "flow_rx_cq_result")
|> to(
org: "example-org",
bucket: "multiwan/flow_rx_cq"
)
上面的命令是如下意思:
在multiwan的bucket中,创建一个连续查询结果存放在multiwan_rx_cq_result中,数据来源是multiwan_raw_rx 每一分钟执行一次计算value字段的累计结果值。
在命令行中执行
使用raw Flux创建一个任务
influx task create --org my-org - # <return> to open stdin pipe
options task = {
name: "flow_rx_task_result",
every: 6
}
# <ctrl-d> to close the pipe and submit the command 按ctrl+d 关闭管道并提交