ssh
- ssh服务端、客户端(ssh.config/sshd.config)端口修改
- ssh公钥私钥(authorized/id_rsa/id_rsa.pub)
- 远程主机收到用户的登录请求,把自己的公钥发给用户
- 用户使用这个公钥,将登录密码加密后,发送回来
- 远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录
- 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 | http { |
正向代理
正向代理就像一个跳板,例如一个用户访问不了某网站(例如 www.google.com ),但是他能访问一个代理服务器,这个代理服务器能访问 www.google.com ,于是用户可以先连上代理服务器,告诉它需要访问的内容,代理服务器去取回来返回给用户。例如一些常见的翻墙工具、游戏代理就是利用正向代理的原理工作的。
安装 Shadowsocks Server
- 安装
python-pip
1
yum install python-pip
- 安装
shadowsocks
1
pip install shadowsocks
- 配置 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
} - 运行 Shadowsocks server 脚本参数,设置配置文件路径
- 设置
rc.local
里设置开机运行