1、nginx反向代理
首先在本地启动一个端口号为80的node服务,这个服务会被代理到192.168.0.0.1的ip地址上。也就说你可以通过访问192.168.0.0.1这个地址访问到你本地80端口的服务。
server{
listen 80;
server_name localhost;
location /{
proxy_pass http://192.168.0.0.1
}
}
2、nginx负载均衡
在本地开启两个服务相同,端口不同的相同服务。把他添加到nginx反向代理的地址就可以了。nginx会为我们自动完成双机热备。
upstream mysite{
server 127.0.0.1:8001 weight=10;
server 127.0.0.1:8002 weight=1;
server 127.0.0.1:8002 weight=1;
}
server{
listen 80;
server_name localhost;
location /{
proxy_pass http://mysite
}
}
3、nginx双机热备
阿里云服务器的vip服务不是免费的,如果你想使用keepalived来实现双机热备,那么你需要购买一个vip(虚拟ip)。
4、nginx解决跨域
server {
listen 80; server_name localhost; # 用户访问 localhost,反向代理到 http:/www.hqwluck.xyz
location / {
proxy_pass http://www.hqwluck.xyz }}
5 、nginx防盗链
location ~* ^.+\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)${
valid_referers none blocked www.flighting.top;
if ($invalid_referer) {
#return 302 http://www.flighting.top/img/nolink.jpg;
return 404;
break;
}
access_log off;
}
6、nginx访问设置
基于ip的控制访问
## 允许单个ip访问
location ~ ^/index.html{
deny all;#不允许访问ip
allow 127.0.0.1; ##允许访问ip
index index.html index.htm;
}
## 允许一个ip段进行访问
location ~ ^/index.html{
root /app;
deny 192.168.1.0/24;192.168.0.0/16;
allow all;
index index.html index.htm;
}
基于用户的信任登陆
不安全这里不做阐述。
7、nginx请求限制
链接频率限制
# $binary_remote_addr 远程IP地址 zone 区域名称 10m内存区域大小
limit_conn_zone $binary_remote_addr zone=coon_zone:10m;
server {
# conn_zone 设置对应的共享内存区域 1是限制的数量
limit_conn conn_zone 1;
}
请求频率限制
# $binary_remote_addr 远程IP地址 zone 区域名称 10m内存区域大小 rate 为请求频率 1s 一次
limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s;
server {
location / {
# 设置对应的共享内存区域 burst最大请求数阈值 nodelay不希望超过的请求被延迟
limit_req zone=req_zone burst=5 nodelay;
}}
8、服务器状态操作
upstream webcanteen {
server 127.0.0.1:66 down; #down 当前服务器不参加负载均衡
server 127.0.0.1:77 backup; #当其他节点无法使用时成为备用节点
server 127.0.0.1:88 max_fails=3 fail_timeout=10s; #服务器请求失败次数达到就会休眠 、 服务器暂停时间
server 127.0.0.1:99 max_conns=1000;} #限制服务器最大接受链接次数
9、补充
项目在生产环境上的服务器发生宕机的情况,应该如何解决?
1、故障转移 转移到备用nginx服务器
2、自动心跳检查 使用keepalived实现心跳检查
3、负载均衡
4、自动重启 需要自写脚本
10、nginx Upstream 实现简单双机主从热备
upstream testproxy{
server 127.0.0.1:8080;
server 127.0.0.1:8081 backup;
}
server{
listen 80;
server-name localhost;
}
location{
proxy_pass http://testproxy;
index index.html index.htm;
}
11、Lvs+Keepalived+Nginx实现高性能负载均衡双机热备集群
-
Lvs:是一种四层负载均衡器,其实软负载均衡,完成所有负载均衡业务需求。他提供虚拟化技术服务,虚拟VIP的创建(虚拟ip)。
-
nginx:是一种七层负载均衡,主要针对于应用层负载均衡(http)。lvs相比于nginx使用场景更加广泛。
-
Keepalived:实在Lvs基础支上,实现心跳检查、故障转移,如果服务器发生宕机的时候,可以尝试自动重试脚本。(高可用)
-
环境配置
两台nginx服务器
nginx 主服务器 192.168.212.143
nginx 备服务器 192.168.212.144
Lvs虚拟bip192.168.212.110
在typecho的使用过程中,一些插件的安装会导致typecho原有内容被替换。
- 问题描述:
我在大量安装插件后,出现了typecho默认的文本编辑器消失,导致我不能正常的撰写博文。 - 解决方案:
下载UEditor for Typecho文本编辑插件替换原有的typecho文本编辑插件。(具体安装方式请看下载文件中的README.md) - 宝塔安装UEditor for Typecho
下载zip结尾的UEditor for Typecho文件,解压到桌面,把解压后的文件中的UEditor文件夹上传到网站的plugins的文件夹中,再去typecho的后台插件面板上启用就可以了。