Nginx代理配置

上文介绍了Nginx的安装,下边介绍使用Nginx代理网站。
我是申请的阿里云免费证书,同时域名也在阿里云买的,所以中间省去了很多麻烦。

按照阿里云上的说明,一步一步的安装配置好久可以了。通过页面访问,比如 https://www.youdomain.com ,然后看到 Welcome to nginx! ,就说明配置成功了。

中间有一个坑,就是现在阿里云的服务器默认很多端口都是关闭的,必须去控制台的安全组里面打开相应的端口,这次是https,才可以访问。

转发配置如下,注意下边配置参数做相应的修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 443;
server_name www.hohode.com;
ssl on;
# root html;
# index index.html index.htm;
ssl_certificate cert/5614507086590401.pem;
ssl_certificate_key cert/561407086590401.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8083;
# root html;
# index index.html index.htm;
}
}

配置上传文件的大小

1
client_max_body_size 1g;

参考 Nginx配置上传文件的大小

nginx将多个不同域名转发到不同端口

只在nginx的配置文件里面加了2个upstream,和2个server,其它的一行没动。重启nginx。

这里的ip用127.0.0.1代理,2个域名分别用 百度 和 谷歌 代替。

这里例如www.baidu.cn baidu.cn ,空格分开表示两个访问地址都能控制。

百度谷歌两个项目页面分别在8081和8082两个tomcat下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#user  nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

upstream baidu{
server 127.0.0.1:8081;
}

upstream google {
server 127.0.0.1:8082;
}

server {
listen 80;
server_name www.baidu.cn baidu.cn;
location / {
proxy_pass http://baidu;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

server {
listen 80;
server_name www.google.cn google.cn;
location / {
proxy_pass http://google;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}

}

Nginx的安装

Nginx是一款非常著名的HTTP和反向代理服务器,广泛被应用在互联网应用之中,本文将简要介绍其安装的过程。

本例在Centos6.5上执行。

1 预先执行 参考

1
2
3
4
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

这四个需要安装的原因分别是:

nginx是C语言开发,建议在linux上运行。安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc。

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

2 下载安装文件

一般下载的是源代码文件包,需要自行进行编译和安装。

1
wget  http://nginx.org/download/nginx-1.13.8.tar.gz

3 解压缩文件,并进行编译安装

tar -xvf nginx-1.13.8.tar.gz
cd nginx-1.13.8     ## 进入源代码目录
./configure        ## 编译源代码
#如果需要使用https,使用如下命令
./configure --with-http_ssl_module

4 执行make命令

1
make

5 执行make install命令来完成安装

1
make install

6 修改端口
/usr/local/nginx/conf /nginx.conf配置文件中的默认端口为80,可以根据需要设定。
7 Nginx的启动和关闭

确保系统的 80 端口没被其他程序占用,执行命令:

1
/usr/local/nginx/sbin/nginx

检查是否启动成功:

1
netstat -ano|grep 80  ## 有结果输入说明启动成功

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

Nginx的重启

1
/usr/local/nginx/sbin/nginx –s reload

8 Nginx主要的配置选项

配置文件所在的路径: /usr/local/nginx/conf
大家可以编辑自己需要的参数,比如配置进程、连接以及虚拟主机等诸多信息。

From: http://blog.csdn.net/blueheart20/article/details/49886369

中国历代纪年

名号 姓名 年号 使用年数 元年干支 改元月份 公元纪年
清[爱新觉罗氏]
(1616年-1911年)
太祖 爱新觉罗努尔哈赤 天命 11 丙辰 正月 1616年
太宗 爱新觉罗皇太极 天聪 10 丁卯 正月 1627年
崇德 8 丙子 四月 1636年
世宗 爱新觉罗福临 顺治 18 甲申 正月 1644年
圣宗 爱新觉罗玄烨 康熙 61 壬寅 正月 1662年
世宗 爱新觉罗胤禛 雍正 13 癸卯 正月 1723年
高宗 爱新觉罗弘历 乾隆 60 丙辰 正月 1736年
仁宗 爱新觉罗颙琰 嘉庆 25 丙辰 正月 1796年
宣宗 爱新觉罗旻宁 道光 30 辛巳 正月 1821年
文宗 爱新觉罗奕苎 咸丰 11 辛亥 正月 1851年
穆宗 爱新觉罗载淳 同治 13 壬戌 正月 1862年
德宗 爱新觉罗载湉 光绪 34 乙亥 正月 1875年
爱新觉罗溥仪 宣统 3 己酉 正月 1909年
中华民国
(1912年-1949年)
臨時大總統 孫文 民国 (1) 辛亥 十一月 1912年
袁世凱 (1) 壬子 正月 1912年
大總統 袁世凱 (3) 癸丑 九月 1913年
黎元洪 (1) 丙辰 五月 1916年
馮国璋 (1) 丁巳 五月 1917年
徐世昌 (4) 戊午 九月 1918年
非常大總統 孫文 (4) 壬戌 五月 1921年
主席 汪兆銘 (1) 乙丑 五月 1925年
陸海軍大元帥 張作霖 (1) 丁卯 五月 1927年
主席 蔣中正 (3) 戊辰 八月 1928年
林森 (12) 辛未 十一月 1931年
蔣中正 (5) 癸未 七月 1943年
總統 蔣中正 (1) 戊子 四月 1948年
代總統 李宗仁 (1) 戊子 十二月 1949年
中华人民共和国
1949年-
主席 毛澤東 公元 (10) 己丑 八月 1949年
刘少奇 (9) 己亥 三月 1959年
代主席 董必武 (7) 戊申 九月 1968年
委员长 朱德 (1) 甲寅 十二月 1975年
宋庆龄 (2) 丙辰 六月 1976年
叶剑英 (5) 戊午 正月 1978年
主席 李先念 (5) 癸亥 五月 1983年
杨尚昆 (5) 戊辰 二月 1988年
江泽民 (10) 癸酉 三月 1993年
胡锦涛 (10) 癸未 二月 2003年
習近平 (10) 癸巳 二月 2013年

Mysql批量导入文本

参考http://blog.csdn.net/u014082714/article/details/53173975

先创建好表data。

1
load data local infile "~/Desktop/data.txt" into table data fields terminated by '|';

terminated by后边的’|’,说明字段是用|进行分割的。
下边是要导入的部分数据:

1
2
3
4
id 		      | name
113972451813201 | xujiayin
113972451813202 | mahuateng
113972451813103 | jackMa

前几导入的时候没有成功,最后发现是id的长度8设置的太小,改为32就足够了,接下来导入一次成功。

Hexo一些配置

1.在设置Search url后,需要使用hexo generate重新生成文章,这样再使用Search的时,google的搜索框中才不会显示http://yoursite.com。
2.图片放在public/css/images/下,使用/css/images/at.png的方式进行链接。
3.更换banner图片
图片的位置为:public/css/images/banner.jpg,可以替换为你自己想要的图片。
4.添加菜单
在themes/landscape/_config.yml文件中添加菜单
5.Google Analytics
http://www.codeblocq.com/2015/12/Add-Google-Analytics-to-your-hexo-blog/
6.如何在静态博客hexo中只显示摘要信息
只要加入一个 more 占位符在文章正文里面即可:

1
2
3
4
5
这里是简介

<!-- more -->

这里是正文

7.修改文章的box-shadow属性
在themes/landscape/source/css/_extend.styl文件的$block那里
8.修改blockquote的样式,样式在_partial/article.styl中

参考 https://www.jianshu.com/p/b96fd206571a

iPhone短信转发

From: http://rpsh.net/archives/iphone-with-two-sim-cards/

iphone

发现还是有蛮多人有两个手机号,但由于 iPhone 只支持单卡,需要同时携带两部手机才能不错过两个卡的短信、电话。

于是我祭出了目前我所采用的 iPhone 双卡双待方案,瞬间折服他们,从此出门只需带一部 iPhone 手机,两张卡的短信、电话都可以完美无缝接收。

准备工作:
1、两部 iPhone。(快翻箱倒柜找出你那部已经吃灰N年的 iPhone 4S)我们称这部 iPhone 4S 为 A,而你每天在使用的新 iPhone 称为B
2、在 A 手机插入电话卡a,在 B手机插入电话卡b。
3、两部 iPhone 均启用 iMessage,iCloud 登陆为同一个 Apple ID

操作方法如下:

一、将手机A收到的短信自动转发到手机B

在手机A进入 「设置 – 信息 – 信息转发」,选中B手机后边的开启按钮,然后输入此时在B手机上显示的验证码。

这样以后A手机收到卡a的所有短信都可以通过 iMessage 自动转发到B手机上,无论是朋友间的 iMessage 信息,还是来自 106 号段的各种验证码短信都可以。此功能免费

iPhone短信转发

如果你需要在B手机上发短信时候,以卡a的号发送,还需如下设置
「设置 – 信息 – 发送与接收 – 开始新对话时使用」,勾上卡号a
message-2

如果你在手机A上没有找到 「信息转发」项目,你需要先在手机B 「设置 – 信息 – 发送与接收 – 可通过 iMessage 与您联络的方式」勾上卡号a

二、将手机A的所有电话转移到手机B接听

在手机A进入 「设置 – 电话 – 呼叫转移」,开启「呼叫转移」,设置将「全部通话」「转移到」卡号b。

这样所有拨打到手机A的通话,都可以自动转移到手机B。此功能同样免费

iphone 电话呼叫转移

使用 iPhone 里这个呼叫转移是免费的,但是接听是否收费,取决于你的卡a、卡b接听是否免费。我这里情况是 卡a、卡b 接听均免费,所以,对我来说这个呼叫转移过程是全免费的。

如果你需要在B手机上主动拨打电话时,将主叫号码显示为卡a,根据苹果官方文档的介绍,GSM制式的可以设置,而 CDMA 不行(我们这些悲剧的电信用户 ?

通过上面两步,已经可以实现出门只需携带手机B,手机A就放在家里继续吃灰,默默担当一个转发器的角色。 ?

另外需要注意的有
1、手机A一旦没电关机,你的手机B就与它失联了,我目前的做法是使用了一款智能插座,将手机A的充电器插在智能插座上,设置每天晚上自动开启充电,白天自动断电。(选晚上是因为在家,充电时一旦发生状况,可以进行处理。不一直插着充电亦是担心长时间过量充电,对电池不好,而且可能引发事故)

2、iPhone 4S 直接插电信 4G 卡没有信号处于无服务状态,我是使用了 GPP 卡贴 让 iPhone 4S 用上了 4G 卡(由于 iPhone 4S 的硬件限制,只能搜到3G信号)

Kibana Visualize Aggregation时无法选择_souce中字段

Elasticsearch版本为5.6.1
可以使用如下mapping方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PUT /index2
{
"mappings": {
"log" : {
"properties" : {
"timestamp":{
"format":"strict_date_optional_time||epoch_millis",
"type":"date"
},
"hostname": {
"type": "keyword",
"ignore_above": 1024
},
"pct" : {
"type":"float"
}
}
}
}
}

注意上述代码中hostname是如何定义的。
将Kibana的index Patterns中相关index删除后重新创建index。
然后再在Kibana visualize Aggregation时就可以选择_souce中字段了,比如上边的hostname。