nginx
1、安装
建议通过源码构建,安装。这种方式扩展性更强nginx安装步骤
步骤:1、下载源码进入目录;2、执行 ./configure --parameter=value;3、执行make命令
参考链接:building nginx from sources
2、常用命令
进入安装目录
启动:sbin/nginx (如果提示permission denied, 命令前加上sudo,执行后输入密码)
重载:sbin/nginx -s reload (通常用于修改配置文件之后,重载配置)
退出:sbin/nginx -s quit
3、配置文件
conf目录下的nginx.conf文件。
nginx由模块组成,这些模块受配置文件中的指令控制。
指令:简单指令、块指令
简单指令:一个name多个parameter,空格分隔,分号结束。(可以理解为一个key,多个value)
块指令:和简单指令类似,但不以分号结束,而是以一个指令集结束,指令集包含在花括号{}中,这时,块指令也叫context。例如(events, http, server, location),全局的context 为main.
#开头表明此行是注释
4、服务静态内容
案例分析,nginx.conf文件中包含如下指令, 执行ifconfig | grep 192.168得到本机ip为192.168.0.128
浏览器中输入192.168.0.128/path时, path会和location指令第一个parameter作匹配
location第一个parameter越长,匹配优先级越高,所以先匹配/activities,再匹配/
root指定根目录,实际访问目录是 ${path_to_nginx}/${root}/${path},index指明文件缺省时的访问文件,try_files指明文件不存在时的尝试路径
例1:
nginx安装目录是 /usr/local/nginx 浏览器中输入192.168.0.128
如果前端不加上/,nginx内部应该会重定向一次,加上/
实际上,nginx依次访问/usr/local/nginx/html/app_pc目录下的index.html、index.htm
例2:
nginx安装目录是 /usr/local/nginx 浏览器中输入192.168.0.128/activities/abc.html
那么实际上,nginx会访问 /usr/local/nginx/html/app_pc/activities/abc.html,
如果不存在,最后会因为try_files依次访问到/usr/local/nginx/html/app_pc/activities/index.html
还不存在的话就报404了
http {
...
server {
...
location / {
root html/app_pc;
index index.html index.htm;
}
location /activities {
root html/app_pc;
index index.html index.htm;
try_files $uri /activities/index.html;
}
}
}
5、其他
关于nginx做反向代理,网关代理,这篇文章也有简单介绍,但是对于前端不是那么重要,有兴趣可以继续研究