浅谈什么是正向代理和反向代理,如何使用nginx搭建正向代理和反向代理

1.正向代理的概念

正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

 

2.反向代理的概念

反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。
简单的区别方法:正向代理就是我们在浏览器可以设置的代理服务器,主动权在浏览者手里。比如我们有时候要查阅一些资料,被国内墙掉了,这时候我可以在国外的服务器上搭建一个nginx正向代理服务器,然后我们就可以通过浏览器设置代理服务器,来翻墙了。反向代理,是浏览者不知情的,服务器端自己假设的。

 

阅读剩余部分 -

Gdrive:Linux下同步Google Drive文件、自动备份网站到Google Drive

Gdrive,Linux下上传、下载Google Drive文件的一款CLI工具,安装简单、使用方便。

操作演示:

安装Gdrive:(SSH下,基于centos 7)

1、安装

  1. wget -O /usr/bin/gdrive "https://docs.google.com/uc?id=0B3X9GlR6EmbnQ0FtZmJJUXEyRTA&export=download"
  2. chmod +x /usr/bin/gdrive

2、授权

  1. gdrive about

然后会出现一串网址并询问验证码:

about-code

将地址粘贴到浏览器并登陆账号,会返回一串代码

code

阅读剩余部分 -

xtrabackup备份和还原

基础信息
1) CentOS 7
2) MySQL 5.7.12
3) 数据量4.4G
使用mysqldump对4.4G的数据导出->导入所需时间>60分钟,也可能是我方式方法不对,导入时间消耗长。

  1. xtrabackup介绍
    xtrabackup一个开源免费的工具,用于对MySQL数据库的备份和还原。它还有一个用perl写的封装脚本,可以提供更多高级功能(如:流、增量、压缩和多线程备份操作)。
    xtrabackup工作方式是后台线程不断追踪InnoDB日志文件尾部,然后复制InnoDB数据文件,InnoDB内有事务日志,可保证所有数据文件一致性。
  2. xtrabackup 安装
    xtrabackup当前最新版本为2.4.4,支持MySQL server 5.7.13
    官网地址:https://www.percona.com
    使用percona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm
    #yum install libev
    #rpm -ivh ppercona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm
    # xtrabackup --version
    xtrabackup version 2.4.4 based on MySQL server 5.7.13 Linux (x86_64) (revision id: df58cf2)

阅读剩余部分 -

使用xtrabackup进行MySQL数据库备份

前面介绍mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了。而使用lvm快照功能对数据库进行备份,可以实现几乎热备的功能,但备份过程较为复杂,不过现在倒是有个工具mylvmbackup可以实现自动化备份。

前面我们也说道,使用物理备份时最快的,那有没有办法实现物理热备呢?

目前主流的有两个工具可以实现热备:ibbackup和xtrabackup;ibbackup是商业软件,没服务器授权为5000美元,非常昂贵。而xtrabackup功能比ibbackup还要强大,但却是开源的。因此我们这里就来介绍xtrabackup的使用。

Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点:

  • (1)备份过程快速、可靠;
  • (2)备份过程不会打断正在执行的事务;
  • (3)能够基于压缩等功能节约磁盘空间和流量;
  • (4)自动实现备份检验;
  • (5)还原速度快;

阅读剩余部分 -

make j* make j4 make j8 区别

make -j4是什么意思
看书上说
1) make(1)只衍生一个作业//作业是什么意思?make(1) 是不是就是make的意思?
2) 在双处理器上make -j4,难道是让每个处理器跑两个作业?那和make -j2效率相比 难道不是一样的?


新手提问 多多关照

------解决方案--------------------
make(1)表示在unix手册(man)的第一章,可以用 man 1 make 来查看。

两个处理器的话,一般 -j2 能达到最高效率。
不过也有些进程会花时间在IO上,并不能利用完单个cpu的时间。这样 -j4 可以更快。 
------解决方案--------------------
jobs=4
同时最多跑4个作业
make自己会协调,如果CPU等资源不够可能小于4个。不过一般瓶颈都在硬盘,所以一般能看到4个进程一起跑。 
------解决方案--------------------
启用4个cpu去编译。提高编译速度。 
------解决方案--------------------

感觉指的是逻辑线程数,和CPU无关,逻辑线程具体跑在哪个逻辑CPU上应该是由内核决定的。make说白了也只是个程序而已。

========================================

阅读剩余部分 -

Linux 杀死进程方法大全(kill,killall)

*杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
 
首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:
 
# kill -pid
 
注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
 
*确定要杀死进程的PID或PPID
 
# ps -ef | grep httpd
 
*以优雅的方式结束进程
 
# kill -l PID
 
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

阅读剩余部分 -

使用openwrt配置https访问

luci默认使用http访问,用户名和密码明文传递,很不安全。为解决上述问题,可以使用https访问luci。

具体配置如下:

1. 安装luci-ssl包:opkg install luci-ssl

2. 将ssl证书(uhttpd.crt)及密钥文件(uhttpd.key)拷贝至/etc/目录下,证书及密钥文件的产生可以参考《为RouterOS配置https访问》

3. 修改 /etc/config/uhttpd.conf,确保“list listen_https '0.0.0.0:443'“有效。

4. 重新启动uhttpd:/etc/init.d/uhttpd restart

阅读剩余部分 -

为RouterOS配置https访问

RouterOS的webfig页面通常都是基于http协议的,用户通过webfig进行登录的时候,登录密码在网络上明文传输,存在这被***的风险。为了解决上述问题可以改用https协议承载webfig服务,但https协议需要ssl证书,因此需要先生成ssl证书。

生成ssl证书的过程:

1. 创建跟证书密钥文件:root.key,这一步需要输入密码

openssl genrsa -des3 -out root.key

2. 创建根证书的申请文件:root.csr

openssl req -new -key root.key -out root.csr

3. 创建根证书:root.crt

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt

其中-days选项为根证书有效期

阅读剩余部分 -

meiyoutongji