Nginx:https://developer.aliyun.com/article/757598
Nginx简介
nginx是一个反向服务代理器,客户端发来的所有请求都交给Nginx,而实际对请求的处理由Nginx背后的服务器负责
Nginx适合静态资源(html、css、js)请求的代理
Nginx可以制定规则按照不同的优先级或权重将请求交不同的服务器
Nginx的高可用性
心跳协议,master不断向backup发送资源等,当master死掉时,由backup接替,此时客户端依旧可以访问到master的资源。当master恢复则收回资源的管理。
多台服务器可以虚拟出一个vip代理,不存在物理宕机,地址在多台服务器中间漂移
location匹配:
语法:
server {
server_name website.com;
location = /abcd {
[…]
}
}
修饰符类型:
~ :区分大小写的匹配
= :精确匹配
~*:不区分大小写
^~:前缀匹配(不是正则匹配)
优先级:
普通前缀匹配按照匹配最长的location返回,与文件中location顺序无关;
正则匹配使用文件中的顺序
rewrite重定向
语法:
server {
rewrite {规则} {定向路径} {重写类型} ;
}
301 302 不能return返回,因为他们要显示url,不能只返回状态码
last不终止,会重定向后继续执行一次location的匹配;而break匹配完后就立刻停止
Nginx配置SSL证书
http://tencent.yundashi168.com/193.html
server {
listen 443;
server_name bjubi.com; // 你的域名
ssl on;
root /var/www/bjubi.com; // 前台文件存放文件夹,可改成别的
index index.html index.htm;// 上面配置的文件夹里面的index.html
ssl_certificate cert/214292799730473.pem;// 改成你的证书的名字
ssl_certificate_key cert/214292799730473.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 / {
index index.html index.htm;
}
}
server {
listen 80;
server_name bjubi.com;// 你的域名
rewrite ^(.*)$ https://bjubi.com:443/$1 permanent;// 把http的域名请求转成https
}
443是SSL端口,80是http默认端口