20210705# Nginx

知识点

Nginx:静态资源服务器

传统的web项目,一般都将静态资源存放在 webroot的目录下,这样做很方便获取静态资源,但是如果说web项目很大,用户很多,静态资源也很多时,服务器的性能 或许就会很低下了。这种情况下一般都会需要一个静态资源的服务器。

进入nginx安装目录的conf目录下,修改nginx.conf文件,在一个server{}中添加 一个location 部分配置代码如下

root@ubuntu:/usr/local/nginx/conf# vi nginx.conf
 server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        location /image/ {
            root   /usr/local/myImage/;
            autoindex on;
        }
    }

从上面的配置可以看出来 监听的端口为80,server_name为localhost(写ip地址也可以)

location /image/ {
            root   /usr/local/myImage/;
            autoindex on;
        }

这个配置表示输入 localhost:80/image/ 时会访问本机的/usr/local/myImage/image/ 目录。所以要新建/usr/local/myImage/image/ 目录,同时还要在nginx安装目录的html目录中新建一个 与 location中 image同名的image目录,虽然该目录里面什么也没有,在/usr/local/my Image/image/ 中我们放一张图片1.jpg上去,重启nginx服务,就可以通过 localhost:80/image/1.jpg访问了

root@ubuntu:/usr/local/nginx/html# mkdir image

root@ubuntu:/usr/local/nginx/html# mkdir /usr/local/myImage/image
#放一张照片上去#
root@ubuntu:/usr/local/nginx/html# cd  /usr/local/myImage/image
root@ubuntu:/usr/local/myImage/image# ls
1.jpg
root@ubuntu:/usr/local/myImage/image#

重启 nginx

root@ubuntu:/usr/local/nginx/sbin# ./nginx -s reload
root@ubuntu:/usr/local/nginx/sbin# 

打开浏览器 输入 server_name:80/image/1.jpg 就可以访问该静态图片了如下图
image

总结: server_name:listen/location/filename 实际访问地址 root/location/filename
在此例中就是: 客户端输入:localhost:80/image/1.jpg; 定位到location为/image/的配置,然后访问nginx服务器的:/usr/local/myImage/image/1.jpg 处的文件

Nginx 反向代理服务器

范例:使用 nginx 反向代理 www.123.com 直接跳转到127.0.0.1:8080
①、启动一个 tomcat,浏览器地址栏输入 127.0.0.1:8080,出现如下界面
image

②、通过修改本地 host 文件,将 www.123.com 映射到 127.0.0.1(或使用SwitchHosts工具)

image

配置完成之后,我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat初始界面。
那么如何只需要输入 www.123.com 便可以跳转到 Tomcat初始界面呢?便用到 nginx的反向代理。
③、在 nginx.conf 配置文件中增加如下配置:

server {
        listen       80;
        server_name  www.123.com;

        location / {
            proxy_pass http://127.0.0.1:8080;
            index  index.html index.htm index.jsp;
        }
    }

image

④、总结
其实这里更贴切的说是通过nginx代理端口,原先访问的是8080端口,通过nginx代理之后,通过80端口就可以访问了。

文档

链接

posted @ 2021-07-05 22:29  傀儡岁月  阅读(149)  评论(0编辑  收藏  举报