深入理解Nginx基础应用

    声明一个虚拟主机.

    1. # 创建一个本地虚拟主机
    2. server{
    3. listen 80;
    4. server_name www.mzx.com;
    5. ssi on; #开启ssi支持
    6. ssi_silent_errors on; #开启ssi错误现象, 当出现错误的时候 不输出错误信息
    7. location / {
    8. #alias 具体的地址
    9. alias D:/Study/Web/WebStormWorkSpace/xc-ui-pc-static-portal/;
    10. index index.html;
    11. }
    12. }

    请求转发.

    1. #静态资源服务
    2. upstream test_server{
    3. server 127.0.0.1:91 weight=10;
    4. }
    5. server{
    6. listen 80;
    7. server_name www.mzx.com;
    8. ssi on; #开启ssi支持
    9. ssi_silent_errors on; #开启ssi错误支持
    10. location / {
    11. alias D:/Study/Web/VSCodeCode/XueChengZaiXian/xc-ui-pc-static-portal/;
    12. index index.html;
    13. }
    14. location /course/detail/ {
    15. proxy_pass http://static_server_pool;
    16. }
    17. }
    18. server {
    19. listen 91;
    20. server_name localhost;
    21. localtion /course/detail/{
    22. alias D:/Study/Web/VSCodeCode/XueChengZaiXian/xc-ui-pc-static-portal/static/course/detail/;
    23. }
    24. }

    当Nginx接受到 www.mzx.com/的请求的时候 将去访问 alias下的地址的资源,如果alias是个文件夹 那么就会访问index指定的文件。
    proxy_pass 是代理转发请求的,当请求www.mzx.com/course/detail/请求过来的时候将会去请求proxy_pass指定的URL请求
    例如:
    请求: http://www.mzx.com/course/detail/ 下的请求过来的时候 将会进行请求转发
    转发: http://static_server_pool/course/detail/ 转发到该路径下
    由于当前Nginx配置了监听 127.0.0.1 : 91 端口 ,那么当
    http://static_server_pool/course/detail/ 请求转发过来的时候 再去91端口配置的Nginx虚拟机进行请求转发
    再次转发到 : http://localhost/course/detail/
    至此请求转发到正确的资源!