groovy grap报错

2018年5月31日 没有评论

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during conversion: Error grabbing Grapes -- [download failed: log4j#log4j;1.2.17!log4j.jar(bundle)]

java.lang.RuntimeException: Error grabbing Grapes -- [download failed: log4j#log4j;1.2.17!log4j.jar(bundle)]

删掉grapes目录重新下载

Caught: java.lang.NoClassDefFoundError: Unable to load class org.xxxx due to missing dependency Lorg/slf4j/Logger;

classpath 中没有加载上log4j,不识别~换成绝对目录

分类: java 标签:

linux安装groovy

2018年5月29日 没有评论

linux系统安装groovy环境

分类: linux 标签:

mac idea Class JavaLaunchHelper is implemented

2018年5月23日 没有评论

objc[3648]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java (0x10d19c4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10ea194e0). One of the two will be used. Which one is undefined.

idea运行groovy包这个错,其实忽略不影响使用,强迫症可以通过如下方式解决:
Help -> Edit Custom Properties... -> 首次需要create配置文件

增加idea.no.launcher=true到配置文件中。

增加完配置后重启idea即可。

分类: java 标签:

python安装talib

2018年5月14日 没有评论

使用pip直接安装talib扩展,名字中间有连字符ta-lib

直接安装会报错

原因是需要先安装TA-Lib扩展库,然后再执行pip命令。

Mac OS X

Windows
下载ta-lib-0.4.0-msvc.zip 然后解压到 C:\ta-lib
https://sourceforge.net/projects/ta-lib/files/ta-lib/0.4.0/ta-lib-0.4.0-msvc.zip/download?use_mirror=jaist

windows下报错 Unable to find vcvarsall.bat

访问 https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib 下载对应版本的包直接安装,cp后面是版本号。

pip install TA_Lib?0.4.17?cp35?cp35m?win_amd64.whl

分类: python 标签:

免费域名证书+nginx开启https访问

2018年4月7日 2 条评论

越来越多的网站开始启用https访问,包括谷歌也表示提升https网站在搜索结果中的排名。

开启https首先需要有域名证书,大多都是要收费的,个人站在使用let‘s encrypt的免费证书就可以。

本站的证书效果:

生成办法:
第一步 下载域名证书工具

第二步 生成证书,只需修改邮箱 网站根目录 域名就可以了。

执行生成证书命令前需要在nginx支持网站所有权验证
2.1 增加隐藏目录访问

2.2 生成域名证书

第三步 修改nginx 配置支持https方式访问

上一步生成的证书

/etc/letsencrypt/live/www.nginx.cn/fullchain.pem
/etc/letsencrypt/live/www.nginx.cn/privkey.pem

第四步 定时更新证书
crontab 中增加定时任务,每15天更新一次证书
Let's Encrypt证书是有效期90天的,需要我们自己手工更新续期才可以

分类: 白小姐论坛:nginx 标签:

mysql审计功能安装使用

2018年3月21日 没有评论

mysql社区版没有审计功能,企业版有审计功能,但是需要付费。

社区版可以使用mcafee开发的审计功能插件libaudit_plugin.so,这个插件可以用在mysql 5.1以后的版本,使用时请下载对应的版本。

https://bintray.com/mcafee/mysql-audit-plugin/release#files

解压拷贝libaudit_plugin.so到mysql的插件目录:

查看MySQL的插件目录:

复制库文件到MySQL库目录下:

# cp audit-plugin-mysql-5.7-1.1.4-725/lib/libaudit_plugin.so /usr/local/mysql/lib/plugin/
# chmod a+x libaudit_plugin.so

进入mysql命令窗口,安装插件:

> install plugin audit soname 'libaudit_plugin.so';
Query OK, 0 rows affected (0.06 sec)
查看mysql当前已经加载了哪些插件:

查看版本:

开启Audit功能:

> SET GLOBAL audit_json_file=ON;
Query OK, 0 rows affected (0.00 sec)
执行任何语句(默认会记录任何语句,有语法错误的不会记录),然后去mysql数据目录查看mysql-audit.json文件(默认为该文件)。

插入一些数据,查看一下mysql-audit.json文件信息(json格式),如下:

复制代码

可以查看插件有哪些可配置的参数:

mysql> SHOW GLOBAL VARIABLES LIKE '%audi%';

其中我们需要关注的参数有:

1. audit_json_file

是否开启audit功能(0为关闭)。

2. audit_json_log_file

记录文件的路径和名称信息(默认放在mysql数据目录下.json文件)。

3. audit_record_cmds

audit记录的命令,默认为记录所有命令??梢陨柚梦我鈊ml、dcl、ddl的组合。如:audit_record_cmds=select,insert,delete,update?;箍梢栽谙呱柚胹et global audit_record_cmds=NULL。(表示记录所有命令)

4. audit_record_objs

audit记录操作的对象,默认为记录所有对象( 审计哪些数据库),可以用SET GLOBAL audit_record_objs=NULL设置为默认。也可以指定为下面的格式:audit_record_objs=,test.*,mysql.*,information_schema.*。

5. audit_whitelist_users

用户白名单。

详细的参数说明,可以直接访问官方说明:

https://github.com/mcafee/mysql-audit/wiki/Configuration

最后为了保证重启数据库,配置不丢失,修改my.cnf 配置文件,将下面的配置添加到[mysqld]中,所以在配置文件中my.cnf加入参数:

audit_json_file=on #保证mysql重启后自动启动插件
plugin-load=AUDIT=libaudit_plugin.so #防止删除了插件,重启后又会加载
audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate' #要记录哪些命令语句,因为默认记录所有操作;
保存重启即可看到效果。

mysql审计插件卸载

直接执行 UNINSTALL PLUGIN AUDIT 卸载会报错:

需要在 my.cnf 中 [mysqld] 下添加 audit_uninstall_plugin=1,重启mysql。重启完毕后执行两次 UNINSTALL PLUGIN AUDIT; 即可卸载。

卸载完成后需要从 my.cnf 中删除 audit_uninstall_plugin=1 ,否则下次mysql启动会报错:[ERROR] /data/mysql/bin/mysqld: unknown variable 'audit_uninstall_plugin=1'

访问https报Unknown SSL protocol error in connection to错误

2018年3月20日 没有评论

网站升级httsp后,用curl访问,长时间不返回结果,报ssl handshake 协议错误,具体如下。
原因是curl版本太旧,可以使用curl的--sslv3参数,或者升级curl本本。

$ curl -v https://www.264.cn/shengqi/ --user-agent "Mozilla/5.0" --silent

* timeout on name lookup is not supported
* Trying 47.52.250.55...
* TCP_NODELAY set
* Connected to www.264.cn (47.52.250.55) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* Unknown SSL protocol error in connection to www.264.cn:443
* Curl_http_done: called premature == 1
* stopped the pause stream!
* Closing connection 0

分类: linux 标签: ,

ModuleNotFoundError: No module named 'win32com'

2018年1月19日 4 条评论

python 中的win32com包

python解决ModuleNotFoundError: No module named 'win32api'

安装完pypiwin32报找不到win32api,需要重启动解释器

分类: python 标签:

如何在ubuntu 16.04 上安装Nginx

2017年12月9日 4 条评论

概述

Nginx 是世界上最受欢迎的web服务器,许多大流量的主机都采用Nginx作为服务器。在大多数场景下作为web服务器的Nginx比Apache更加节省资源,它也可当作反向代理服务器。

本文主要介绍如何在ubuntu16.04上安装Nginx

前提条件

开始以前,你需要有一个安装好的ubuntu16.04,并且你需要有一个拥有sudo权限的非root普通用户。

第一步:安装Nginx

Ubuntu默认的源中就有Nginx,所以安装是比较简单的。

首先,更新apt源,以便软件是最新的,然后就可以安装nginx:

  • sudo apt-get update
  • sudo apt-get install nginx

执行这两个命令之后,apt-get就会安装好Nginx和它依赖的软件。

第二步:配置防火墙

开始测试Nginx前,我们需要配置防火墙,以便允许外界访问nginx服务。Nginx在安装的时候使用ufw注册自己作为一个服务,这样对nginx的访问就会变得很容易。

显示所有ufw应用的配置:

sudo ufw app list

你可以得到一个配置的输出列表:

我们可以看到,有三个Nginx的配置:

  • Nginx Full: 这个配置打开 80端口和443端口
  • Nginx HTTP: 这个配置只打开80 (普通, 未加密通信)
  • Nginx HTTPS: 这个配置只打开 443 (TLS/SSL 加密通信 )

一般来说我们应该配置最严的限制,因为本文我们还没有配置SSL,所以我们只打开80端口。

我们执行:

验证修改状态:

我们可以看到HTTP是被打开的:

第三步: 检查你的web server

安装完成后,Ubuntu 16.04 会自动启动 Nginx. 我们可以使用systemd?检查运行状态:

输出

服务已经正常启动,当然最好的确认方法是通过访问web页面的方式。

如果我们能访问到默认加载页就证明启动成功了。

如果你不知道服务器的ip可以使用如下命令:

 

有了IP之后,在浏览器里输入:

//server_domain_or_IP

你就能看到Nginx的默认加载页了:

Nginx default page

第四步: 管理 Nginx 进程

现在我们已经有nginx在运行了,我们可以再试一些管理命令:

停止nginx:

启动nginx:

重启nginx:

修改配置文件后,平滑加载配置命令(不会断开用户访问):

默认,nginx是随着系统启动的时候自动运行。如果你不想开机启动,那么你可以禁止nginx开机启动:

重新配置nginx开机自动启动:

第五步: 熟悉Nginx的文件和目录

现在我们已经管理nginx了,接下来可以熟悉一下nginx的目录结构和一些重要的文件:

网站文件位置

      • /var/www/html: 网站文件存放的地方, 默认只有我们上面看到nginx页面,可以通过改变nginx配置文件的方式来修改这个位置。

服务器配置

      • /etc/nginx: nginx配置文件目录。所有的nginx配置文件都在这里。
      • /etc/nginx/nginx.conf: Nginx的主配置文件. 可以修改他来改变nginx的全局配置。
      • /etc/nginx/sites-available/: 这个目录存储每一个网站的"server blocks"。nginx通常不会使用这些配置,除非它们陪连接到 ?sites-enabled?目录 (see below)。一般所有的server block 配置都在这个目录中设置,然后软连接到别的目录 。
      • /etc/nginx/sites-enabled/: 这个目录存储生效的 "server blocks" 配置. 通常,这个配置都是链接到 sites-available目录中的配置文件
      • /etc/nginx/snippets: 这个目录主要可以包含在其它nginx配置文件中的配置片段。重复的配置都可以重构为配置片段。

日志文件

    • /var/log/nginx/access.log: 每一个访问请求都会记录在这个文件中,除非你做了其它设置。
    • /var/log/nginx/error.log: 任何Nginx的错误信息都会记录到这个文件中。

苹果ios同步icloud照片到新手机

2017年11月15日 没有评论

换了个新手机,想把icloud里面的照片下来。一直也没搞懂苹果的更新机制。

设置的是通过icloud恢复,结果发现没有可用备份。那只能设置为新手机了。

设为新手机后使用已有的icloud账户登录后,以前通讯录,照片会自动恢复。

设置方式是:照片需要打开 设置->照片->icloud照片图库

打开照片后发现里还是没有照片,网上查了查也看不到什么原理。

最后无意间发现照片有了。

原来是要想同步照片需要三个条件:
1.需要打开icloud照片图库
2.手机接入wifi
3.手机充电状态是。

才会下载照片到新手机。

分类: iOS/Mac 标签: ,
  • 【十九大·理论新视野】为什么必须夺取“反腐斗争压倒性胜利”? 2018-07-14
  • 记者带你逛CES:体验未来科技 2018-07-14
  • 中阿合作论坛第八届部长级会议将在京举行 2018-07-14
  • 先生们,当年潘大也不是一个人。 2018-07-13
  • 杭州退役女狙击手爱上摩旅 曾“单骑”出国游老挝 2018-07-13
  • 火啦!巴西门将踩气球火遍网络,各种神P图 2018-07-13
  • 好事要支持,解决劳动力更是好事 2018-07-12
  • 上合再出发 开启新征程 2018-07-12
  • 一枝一叶“粽”关情,情浓粽飘香 2018-07-11
  • 房奴!房奴!亚历山大幸福吗? 2018-07-11
  • 【诗会马克思】第四期 :《怪影》节选 2018-07-11
  • 新华时评:美逆潮流而动,必将付出代价 2018-07-11
  • [可怜]俄罗斯2018世界杯——中国除了足球队没去,其他的基本上都去了。[可怜] 2018-07-10
  • (Dos sesiones) Enfoque de China Dos sesiones históricas fijan el rumbo para nueva época Spanish.xinhuanet.com 2018-07-10
  • 【大家谈】以“三个担当”标尺量出好干部 2018-07-10