Nginx 主要应用 教程
文章目录
1、静态网站
Nginx是一个Http的Web服务器,可以将服务器上的静态文件(如Html、图片等)通过Http协议返回给浏览器客户端;
server{ listen:80; #监听端口号 location / { #监听路径 root /option/static/TestWeb #静态文件路径 index index.html index.htm #欢迎页html文件名 } }
规则:请求地址中 ip + 端口 = root
举例说明:
静态页面存放地址 = /opt/static/TestWeb/index.html
期待nginx访问路径 = http://192.168.105.130 (请求格式1)
或者
http://192.168.105.130/TestWeb (请求格式2)
请求格式1 http://192.168.105.130 Nginx配置文件配置方式:
server{ listen:80; #监听端口号 location / { #监听路径 root /option/static/TestWeb #静态文件路径 index index.html index.htm #欢迎页html文件名 } }
请求格式2 http://192.168.105.130/TestWeb Nginx配置文件配置方式:
server{ listen:80; #监听端口号 location /TestWeb { #监听路径 root /option/static/ #静态文件路径 index index.html index.htm #欢迎页html文件名 } }
注意:请求路径与静态页面实际路径匹配规则:ip + 端口 = root
用请求格式2 http://192.168.105.130/TestWeb 进行说明:
http://192.168.105.130 = root = /option/static/ (location = /TestWeb)
http://192.168.105.130/TestWeb = root = /option/static/TestWeb (匹配成功)
2、负载均衡
概述:将请求均匀分摊到多个服务器节点上执行。
2.1 负载均衡实现方式
1、硬件实现 : F5、深信服、Array等。
2、软件实现 : Nginx、LVS、HAPProxy等。
1、第一步http模块上:(例子)
upstream www.myweb.com{ server 127.0.0.1 weight = 3; server 127.0.0.1 weight = 1; }
其中weigh=1表示权重,用于后端服务器性能不均的情况,访问比率等于权重之 4000 比,权重越大访问机会越高。
2、第二步在server模块里添加:(例子)
location /myweb{ proxy_pass http://www.myweb.com; }
- 其中www.myweb.com字符串要和upstream后面的字符串相等。
- upstream中所配置的服务端,nginx会进行健康检查,如果客户端不能正常访问则nginx会跳过该服务端的转发。
2.2 负载均衡
Nginx如何实现负载均衡:(通过在Nginx的nginx.conf文件进行配置即可实现)
2.3 常用负载均衡策略
2.3.1 轮询策略 :
如不配置默认的是轮询策略
2.3.2 ip_hash策略:
ip_hash也叫IP绑定,每个请求按访问ip的hash值分配, 这样每个访问客户端会固定访问一个后端服务器, 可以解决Session丢失的问题。
upstream www.myweb.com{ ip_hash; server 127.0.0.1:8080 ; server 127.0.0.1:8090 ; }
2.3.3 权重策略:
upstream www.myweb.com{ server 127.0.0.1 weight = 3; weight 比例越大,访问几率越大 server 127.0.0.1 weight = 1; weight 比例越大,访问几率越大 }
2.3.4 最少连接策略:
web请求会被转发到连接数最少的服务器上
upstream www.myweb.com{ least_conn; server 127.0.0.1 ; server 127.0.0.1 ; }
2.4 负载均衡其他几个配置
backup状态:
upstream www.myweb.com{ server 127.0.0.1:8090 ; server 127.0.0.1:8080 backup; (其他所有非backup的机器都挂机的时候,才请求backup机器) }
down状态:
upstream www.myweb.com{ server 127.0.0.1:8090 ; server 127.0.0.1:8080 down; (down表示当前是down状态,不参与负载均衡) }
3、静态代理
针对文件类型进行匹配: 1、把所有静态资源的访问改为访问nginx,而不是访问tomcat,因为nginx更擅长于静态资源的处理,性能更好、效率更高。 2、在实际应用中,静态资源比如图片、css、html、js交给nginx,而不是交给tomcat。
location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ { root /opt/static; }
3、配置符号讲解:
( ~ 表示正则匹配 第一个点,表示任意字符; * 表示一个或多个字符; \. 是转移字符,是后面这个点的转义字符; | 表示或者; $ 表示结尾; )
4、动静分离
针对文件路径进行匹配
location ~ .*/(css|js|img|images) { root /opt/static; }
xxx/css xxx/js xxx/img xxx/images 以上例子均可以匹配上
- 点赞
- 收藏
- 分享
- 文章举报
- nginx-slice模块源码解析
- service nginx reload|restart|upgrade 命令流程
- 学习笔记(01):高并发下的Nginx性能优化实战-nginx命令
- Nginx安装指南
- centos 下部署django nginx+uwsgi
- Nginx环境下设置zblog伪静态方法
- Nginx虚拟主机配置
- Nginx访问日志(access_log)配置
- 脚本控制nginx
- Centos7+Nginx1.10.2+php-fpm基本配置phpinfo
- LNMP环境搭建 Centos7+Nginx 1.6.2+Mysql 8 +PHP 7.3.8 新手上路 超详细(2019年8月上新)
- 服务器 CentOS上yum安装Nginx服务
- Apache与Nginx虚拟主机设置(多域名和多端口的区别)
- Nginx与PHP的交互
- 搭建nginx+mysql+loganalyzer+rsyslog日志服务器
- nginx解析PHP程序报错的解决方案
- Centos6.5 通过yum安装nginx及配置
- 反向-代理 nginx for Mac 的配置以及使用
- nginx1.16编译安装config参数
- 阿里云 ubuntu nginx 发布 rails 项目