nginx配置动静分离
这个实验动静资源的分配是通过nginx重定向来做的,是通过nginx来分离的,而不是到不同的tomcat上去寻找资源。
1.准备静态资源,创建data文件夹,注意data 文件夹的路径
/home/wu/data
image里为一张图片
www里为一个网页
进入配置文件开始配置:
vim /usr/local/nginx/conf/nginx.conf
意思是:当在192.168.111.130服务器监听的80端口收到匹配/www/的访问时,转到/home/wu/data/www下去访问,这root和上一篇文章里提到的alias有相似的作用,细微的区别是这里/www文件夹会直接接上root后的路径,不会被丢弃。
其中index的解释:用于设定访问的网页根目录
当访问根目录比如 http://127.0.0.1/ 时,index默认配置为index.htm,就会首先去读 http://127.0.0.1/index.htm ,当然这个index.htm加不加都会读,用户每当访问一个目录,都会先去找这个目录下的index.htm ,如果找不到就去找index.htm,依次往下。
autoindex on;是为了列出当前文件夹的内容,不知道我这里怎么就直接显示图片了。
先关掉nginx
sudo ./nginx -s stop
再开启
sudo ./nginx
浏览器输入:192.168.111.130/www/01.jpg访问
在192.168.111.130服务器监听的80端口收到匹配/www/的访问时,转到/home/wu/data/www下去访问
按照道理应该是类似于这样的,有个列表
alias为别名功能
location /i {
alias /var/www/html/images/;
}
在这个location中,如果url请求 " /i/logo.gif " ,那么nginx将会在服务器上查找 “/var/www/html/images/logo.gif”文件,也就是说请求的url中location后面的部分会被追加到alias指定的目录后面,而location后面的 /i 路径将被自动丢弃。
root和alias的区别
location ~ ^/download/(.*)$ {
alias /home/webdata/www/$1;
}
在这个location中,如果url请求 " /download/ebook.tar.gz " ,那么nginx将会在服务器上查找 “ /home/webdata/www/ebook.tar.gz”文件
location /i {
root /var/www/html/images/;
}
在这个location中,如果url请求 " /i/logo.gif " ,那么nginx将会在服务器上查找 “/var/www/html/images/i/logo.gif”文件,也就是说请求的url中location后面的部分会被追加到root指定的目录后面.
location ~ ^/download/(.*)$ {
alias /home/webdata/www/$1;
}
在这个location中,如果url请求 " /download/ebook.tar.gz " ,即/ebook.tar.gz设为变量1 ,那么nginx将会在服务器上查找 “ /home/webdata/www/ebook.tar.gz/download/ebook.tar.gz”文件
alias指定的是当前目录,root指定的是根目录
一般情况下,建议在location / 中通过root命令来匹配根目录,其他目录匹配的位置使用alias命令