nginx是什么?
Nginx是一个web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。
什么时候会用到nginx
1、 http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2、 虚拟主机。可以实现在一台服务器虚拟出多个网站
3、 反向代理(解决网络中的安全问题)
4、 负载均衡(解决高访问量下单个tomcat无法及时响应的问题)。
nginx安装与初步使用:
mac安装 :brew install nginx
安装完成后,会有如下提示:
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
nginx will load all files in /usr/local/etc/nginx/servers/.
To have launchd start nginx now and restart at login:
brew services start nginx
Or, if you don't want/need a background service you can just run:
nginx
==> Summary
? /usr/local/Cellar/nginx/1.15.9: 25 files, 2MB
上面就说明安装成功了.两个路径需要注意:
1nginx.conf所在的路径:/usr/local/etc/nginx/nginx.conf
2bin的路径 /usr/local/Cellar/nginx/1.15.9/bin
然后到nginx的执行目录下
启动nginx:
cd /usr/local/Cellar/nginx/1.15.9/bin
nginx -c /usr/local/etc/nginx/nginx.conf
然后浏览器输入http://localhost:8080/,就可以访问nginx了,如下图
停止nginx: nginx -s stop
启动nginx的另一种方式:brew services start nginx
下面是nginx的一些常用命令
启动nginx ?./sbin/nginx
停止nginx ./sbin/nginx -s stop 或 ./sbin/nginx -s quit
重载配置 ?./sbin/nginx -s reload(平滑重启)
重载指定配置文件 ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看nginx版本 ./sbin/nginx -v
检查配置文件是否正确 ./sbin/nginx -t
显示帮助信息 ./sbin/nginx -h
nginx的重载和重启:
nginx -s restart :重启,直接重新启动
nginx -s reload :重载,老的线程还在,使用完成即释放,同时创建新的线程,替换老的线程
但是上面有个问题 为什么输入http://localhost:8080/就能到达nginx的页面?
nginx.conf配置简解
listen:是监听的端口,即用户访问nginx服务的端口
server_name:服务名,经过测试并不会影响到什么
location:定义资源类型与服务器中资源地址url的映射关系,可在/后面定义资源类型,可设置多个location
其中proxy_pass代表要反向代理的服务器资源url,只要资源类型匹配,在这个url下的子路径资源都可以访问到,
其中root代表本地的资源路径,同样只要资源类型匹配,这个路径下的子目录资源都可以被访问到,
一个location中只能配置一个root或proxy_pass
这个时候你查看上面/usr/local/etc/nginx/nginx.conf,会发现如下内容
其实就是server_name:listen location中指定了默认的初始页,index.html
其实这就是nginx作为静态服务器的功能。