1、安装
- 下载 http://nginx.org/
-
解压
nginx目录结构 - 启动
不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程。
在nginx.exe目录,打开命令行工具,用命令 启动/关闭/重启nginx
// 1、启动nginx
start nginx //启动后,访问localhost即可看到nginx的欢迎页面
// 2、当你的 nginx 实例运行时,你可以通过发送相应的信号来管理它
nginx -s signal //signal可以是:reload,reopen,stop,quit
// 2.1、修改配置后重新加载生效 ,配置文件位于 conf\nginx.conf
nginx -s reload
// 2.2、重新打开日志文件
nginx -s reopen
// 2.3、快速停止nginx
nginx -s stop
// 2.4、完整有序的停止nginx
nginx -s quit
// 3、测试nginx配置文件是否正确
nginx -t -c /path/to/nginx.conf
2、配置详解
配置文件主要由下面两个部分构成:
- 指令 – 可选项,包含名称和参数,以分号结尾
- 上下文 – 分块, 类似于编程语言中的作用域
worker_processes 2; # 全局上下文指令
http { # http 上下文
gzip on; # http 上下文中的指令
server { # server 上下文
listen 80; # server 上下文中的指令
}
}
常用指令:
1、listen 和 server_name指令
server { // 虚拟主机server可以有多个
listen *:80 default_server;
server_name netguru.co;
return 200 "Hello from netguru.co";
}
这将告诉 Nginx 如何处理到来的请求。Nginx 将会首先通过检查 listen 指令来测试哪一个虚拟主机在监听给定的 IP 端口组合。
然后,server_name 指令的值将检测 Host 头(存储着主机域名)。
Nginx 将会按照下列顺序选择虚拟主机:
匹配sever_name指令的IP-端口主机
拥有default_server标记的IP-端口主机
首先定义的IP-端口主机
如果没有匹配,拒绝连接。
2、root指令
root 指令设置请求的根目录,允许 nginx 将传入请求映射到文件系统。
server {
listen 80;
server_name netguru.co;
root /var/www/netguru.co;
}
3、location 指令
location [modifier] path
// modifier 如下,匹配优先级依次降低
= - 精准match
^~ - 优先 match
~ - 正则 match(大小写敏感)
~* - 正则 match(大小写不敏感)
no modifier - 前缀 match
4、try_files 指令
尝试不同的路径,找到一个路径就返回。
try_files $uri index.html =404;
所以对于 /foo.html 请求,它将尝试按以下顺序返回文件:
$uri ( /foo.html )
index.html
如果什么都没找到则返回 404
5、proxy_pass指令
配合location实现反向代理,用于跨域。注意末尾有没有斜杠。
3、参考:
1、https://www.cnblogs.com/saysmy/p/6609796.html
2、http://blog.jobbole.com/113555/
网友评论