「上一篇知识点」
「本篇知识点」
目的是: 前端访问一个url, nginx自动将请求分发到不同的服务上,实现负载均衡.
上一篇文章中,我们成功启动了2个tomcat,分别占用的是8090和8091端口,这次我们继续使用这两个tomcat服务做示例
<h1>balance-8090</h1>
<h1>balance-8091</h1>
文件创建完成后,自己简单测试一下2个页面能否正常访问,测试地址:
http://yourip:8090/balance/b.html http://yourip:8091/balance/b.html
upstream myserver {
server yourip:8090;
server yourip:8091;
}
server {
listen 9002;
server_name yourip;
location ~ /balance/ {
proxy_pass http://myserver;
}
}
upstream myserver {
server yourip:8090;
server yourip:8091;
}
upstream myserver {
ip_hash;
server yourip:8090;
server yourip:8091;
}
upstream myserver {
server yourip:8090 weight=1;
server yourip:8091 weight=10;
}
upstream myserver {
fair;
server yourip:8090;
server yourip:8091;
}
接下来讲的是如何配置nginx, 使外部可以通过nginx访问到自己配置的静态资源~
比如我们想访问一张哆啦A梦的图片,该怎么操作呢?
# img
server {
listen 100;
server_name yourip;
location /img/ {
root /data/;
}
}
然后重启服务, ./nginx -s reload 3.测试一下, 浏览器访问: yourip:100/image/cartoon.jpeg,即可查看我们配置的哆啦A梦图片了
这里说下nginx识别路径的大致原理,nginx先根据请求的port找到对应的server,然后由上至下依次匹配路径,如果和location中配置的路径相匹配, 那么nginx就会自动从 「root中配置的path + location配置的path + 资源名称」 这样的路径从服务器上找对应资源,找到则返回资源,未找到则返回404!
同理可得,我们也可以找一个视频文件如a.mp4,按照我们配置图片这样的配置一下,那么浏览器或者播放器就可以「播放视频」了.或者以此为原理做一个「小型视频网站」,理论上也是可行的~
再介绍一个关于「nginx访问文件的小技巧」 浏览器可以直接访问服务器的指定目录,来访问资源, 效果图如下:
nginx的配置如下:
# resource
server {
listen 101;
server_name yourip;
location /image/ {
root /data/;
autoindex on;
}
}
以上就是今天关于nginx的分享