深入理解Nginx基础应用
声明一个虚拟主机.
# 创建一个本地虚拟主机
server{
listen 80;
server_name www.mzx.com;
ssi on; #开启ssi支持
ssi_silent_errors on; #开启ssi错误现象, 当出现错误的时候 不输出错误信息
location / {
#alias 具体的地址
alias D:/Study/Web/WebStormWorkSpace/xc-ui-pc-static-portal/;
index index.html;
}
}
请求转发.
#静态资源服务
upstream test_server{
server 127.0.0.1:91 weight=10;
}
server{
listen 80;
server_name www.mzx.com;
ssi on; #开启ssi支持
ssi_silent_errors on; #开启ssi错误支持
location / {
alias D:/Study/Web/VSCodeCode/XueChengZaiXian/xc-ui-pc-static-portal/;
index index.html;
}
location /course/detail/ {
proxy_pass http://static_server_pool;
}
}
server {
listen 91;
server_name localhost;
localtion /course/detail/{
alias D:/Study/Web/VSCodeCode/XueChengZaiXian/xc-ui-pc-static-portal/static/course/detail/;
}
}
当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/
至此请求转发到正确的资源!