0%

1
2
3
4
5
6
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
grant all privileges on *.* to 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

1
2
3
4
5
6
7

CREATE USER 'lzz'@'%' IDENTIFIED BY '123456';

grant all privileges on *.* to 'lzz'@'%' with grant option;

set global time_zone = '+8:00';

mysql数据库时间少一天

1
characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai

serverTimezone值修改为Asia/Shanghai

概述

有一个这样的需求,就是把页面上的Echart图表转换成图片保存到word中。

环境准备

安装PhantomJS

1
npm install phantomjs -g

使用下面的命令,查看是否安装成功
1
phantomjs --version

实现

webpage

webpage模块是PhantomJS的核心模块,用于网页操作。

1
2
var webPage = require('webpage');
var page = webPage.create();

open()

open方法用于打开具体的网页。

1
2
3
4
5
var page = require('webpage').create();
page.open('http://127.0.0.1:8080/index.html', function (status) {
page.render('google_home.png', { format: 'png' });
phantom.exit();
});

测试

执行

1
phantomjs  index.js

参数

1
2
3
4
var webPage = require('webpage');
var page = webPage.create();
var system = require('system');
var list = (system.args + "").split(',');

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
cd ${WORKSPACE}
echo "Stopping sso"
port=8990
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
if [ -n "$pid" ]
then
echo "kill -9 pid:" $pid
kill -9 $pid
fi
echo "Execute shell Finish"
BUILD_ID=dontKillMe java -jar target/demo-0.0.1.jar &

1
2
3
System.setProperty("proxySet", "true");
System.setProperty("socksProxyHost", "10.194.69.85");
System.setProperty("socksProxyPort", "10086");

创建一个脚本

1
2
3
4
5
$ vim auto_run_script.sh

#!/bin/bash
date >> /tmp/output.txt
hostname >> /tmp/output.txt

保存退出后,再给它赋予可执行权限

1
$ chmod 777  auto_run_script.sh

创建启动服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ cd /etc/systemd/system

$ vim auto_run_script.service

[Unit]
Description=Run a Custom Script at Startup
After=default.target

[Service]
ExecStart=/auto_run_script.sh

[Install]
WantedBy=default.target

保存退出

启动服务

1
2
$ systemctl daemon-reload
$ systemctl enable auto_run_script.service

跨域

什么是跨域

协议 + 域名 + 端口 有一处不相同时,就认为是跨域

为什么会有跨域

同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到攻击。

解决方案

使用Nginx做反向代理

  • 情景1

    假设网站部署在80接口,在80接口下设置反向代理,可直接解决跨域问题

1
2
3
4
5
location ^~/v1{
rewrite ^/v1/(.*)$ /$1 break;
proxy_pass http://localhost:8080;
}

  • 情景2

    假设网站部署在8081端口,api端口为8080,反向代理服务端口为80

1
2
3
4
5
6
7
8
9
10
11
12
13
location ^~/v1{
rewrite ^/v1/(.*)$ /$1 break;
proxy_pass http://localhost:8080;
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Max-Age 3600;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Headers
$http_access_control_request_headers;
if ($request_method = OPTIONS){
return 200;
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var url = 'download/?filename=aaa.txt';
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = "blob";
xhr.onload = function () {
if (this.status === 200) {
var blob = this.response;
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = function (e) {
var a = document.createElement('a');
a.download = 'name';
a.href = e.target.result;
$("body").append(a);
a.click();
$(a).remove();
}
}
};
xhr.send()

启动防火墙

1
systemctl start firewalld

禁用防火墙

1
systemctl stop firewalld

设置开机启动

1
systemctl enable firewalld

停止并禁用开机启动

1
sytemctl disable firewalld

重启防火墙

1
firewall-cmd --reload

查看状态

1
systemctl status firewalld或者 firewall-cmd --state

查看版本

1
firewall-cmd --version

查看开放的端口

1
2
firewall-cmd --list-port

开放端口

1
2
3
4
firewall-cmd --zone=public --add-port=80/tcp --permanent
#不加 --permanent重启之后就会失效,加了是永久生效
# 增加规则之后要重启防火墙
firewall-cmd --reload