fenlan

Everything gonna be fine in the end, if it's not fine, it's not the end.

0%

分享会资料

ssh

  1. ssh服务端、客户端(ssh.config/sshd.config)端口修改
  2. ssh公钥私钥(authorized/id_rsa/id_rsa.pub)
    • 远程主机收到用户的登录请求,把自己的公钥发给用户
    • 用户使用这个公钥,将登录密码加密后,发送回来
    • 远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录
  3. ssh免密(公钥)登录
    • 用户将自己的公钥储存在远程主机上。
    • 登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。
    • 远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码

hosts文件问题

为新租的 vps 设置简单的别名访问
修改新租的 vps 中 hosts 文件,将百度域名转址为本机

Web服务器

Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。无论它们(译者注:脚本)的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。

apache vs. nginx

  • nginx优点
    • 轻量级,起 web 服务,比 apache 占用更少的内存及资源
    • 抗并发,nginx 处理请求是异步非阻塞的,而 apache 则是阻塞型的,在高并发下 nginx 能保持低资源低消耗高性能
    • 高度模块化的设计,编写模块相对简单
    • 社区活跃,各种高性能模块出品迅速
  • apache优点
    • rewrite ,比 nginx 的 rewrite 强大
    • 模块超多,基本想到的都可以找到
    • 少bug ,nginx 的 bug 相对较多
    • 非常稳定

apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程

nginx虚拟主机

基于端口的虚拟主机
基于域名的虚拟主机

nginx反向代理

反向代理方式是指用代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

举个例子,一个用户访问 http://www.example.com/readme ,但是 www.example.com 上并不存在 readme 页面,它是偷偷从另外一台服务器上取回来,然后作为自己的内容返回给用户。但是用户并不知情这个过程。对用户来说,就像是直接从 www.example.com 获取 readme 页面一样。这里所提到的 www.example.com 这个域名对应的服务器就设置了反向代理功能。

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
http {
include mime.types;
server_tokens off;

## 下面配置反向代理的参数
server {
listen 80;

## 1. 用户访问 http://ip:port,则反向代理到 https://github.com
location / {
proxy_pass https://github.com;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

## 2.用户访问 http://ip:port/README.md,则反向代理到
## https://github.com/.../README.md
location /README.md {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://github.com/moonbingbing/openresty-best-practices/blob/master/README.md;
}
}
}

正向代理

正向代理就像一个跳板,例如一个用户访问不了某网站(例如 www.google.com ),但是他能访问一个代理服务器,这个代理服务器能访问 www.google.com ,于是用户可以先连上代理服务器,告诉它需要访问的内容,代理服务器去取回来返回给用户。例如一些常见的翻墙工具、游戏代理就是利用正向代理的原理工作的。

安装 Shadowsocks Server

  1. 安装python-pip
    1
    yum install python-pip
  2. 安装shadowsocks
    1
    pip install shadowsocks
  3. 配置 config.json
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    {
    "server":"0.0.0.0",
    "server_port":11210,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"*******",
    "timeout":600,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
    }
  4. 运行 Shadowsocks server 脚本参数,设置配置文件路径
  5. 设置rc.local里设置开机运行