一.Nginx简介
Nginx (engine x) 是一个高性能的Web和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服器。Nginx处理高并发能力是十分强大的,能经受高负载的考验。而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新 。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是, Nginx 是免费的并可以商业化,配置使用也比较简单
安装nginx
启动nginx关闭火墙(火墙放行)
nginx默认共享目录
进入nginx默认共享目录,会将该目录的东西都共享到网络上 
可以看到index.html,这是它的默认发布文件,里边就能够访问用户指定的内容了,试着访问一下(浏览器直接访问虚拟机ip地址)
修改默认使用的端口
使用如上路劲修改端口号,修改完后,重启nginx。 重启完才会生效,修改完端口可能还需要去火墙那放行端口号,才能访问,所以建议不要去修改,默认80就行,只需要知道其能够修改即可
四、 nginx默认配置目录
nginx -s reload
nginx默认配置目录
修改nginx默认共享目录的发布文件
将test.html更改为默认发布文件
index可以指定多个文件,但是不会全部一起出现,而是会排队访问,修改完后,重启nginx
改变nginx默认共享目录的路径
1、基于ip的访问控制
在/usr/share/nginx/下,新建一个目录,在自己建的新目录下建立一个文件(如index.html),入路径/etc/nginx/并进入nginx.conf,修改此行的路径,将其修改成自己创的那个目录
将图中html的位置改为刚加的目录即可,修改了默认路径后,下一行的index出也需要修改成自己目录里有的文件
nginx访问控制
默认任何人都能访问你的nginx目录,如何限制呢?
使用location命令,在nginx.conf中修改,添加的location在sever的子目录下,后面跟的是自建的目录。目录下面的大括号内用allow和deny来区分允许与拒绝的ip
注意:location 大括号下的指令有读取顺序,前面的会先读取执行,然后再是后面的,比如这里先把deny all先写在前面,allow写在后面,就会先执行deny命令,而后面的allow就不会生效了
修改完,重启nginx
nginx -s reload
2、 基于用户的访问控制
先安装软件包httpd-tools
下面分两种情况:
1)显示“无法访问...没有那个文件或目录”
第一次使用htpassd应该都是这种情况,这是我们使用-cm:
htpasswd -cm /etc/nginx/.htpasswd test(这里的test是一个用户)
2)显示出了文件
这种情况代表已经有了该文件,所以把-cm的c去掉,代表不创建、仅修改,这样就不会覆盖其他用户
htpasswd -m /etc/nginx/.htpasswd test(这里的test是一个用户!)
进入nginx.conf
进入后,添加location
图中location下的名词解释:
auth basic on; —— 代表开启基本认证
auth basic user file /etc/nginx/.htpasswd; —— 代表指定认证文件