Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发链接的高处理能力(单台服务器可支持30000 ~ 50000个并发请求)正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务。
实验环境:
在虚拟机Centos6.5系统上搭建Nginx1.6版本,IP地址:192.168.100.10
链接:https://pan.baidu.com/s/18fTrSG25dHyWvGmFaYsl0w 密码:bvuv(Nginx1.6软件包)
一.编译安装Nginx
1.安装依赖包:yum -y install pcre-devel zlib-devel gcc gcc-c++
2.创建运行用户和组,Nginx服务程序默认以nobody身份运行,创建专门的用户账户,以便更准确的控制器访问权限,增加灵活性、降低安全风险。如:创建一个名为nginx用户,不建立宿主目录,也禁止登录Shell环境。
useradd -M -s /sbin/nologin nginx
3.将nginx的软件包挂载,并解压到/opt/目录
4.配置编译安装
5.检查配置文件及端口是否开启
6.启动,停止Nginx
7.使用脚本服务,为了使Nginx服务启动、停止、重启等操作更加方便,可以写入Nginx脚本服务,并使用chkconfig 和 service 工具进行管理,也更符合RHEL系统管理习惯。
vim /etc/init.d/nginx
chmod +x /etc/init.d/nginx
chkconfig --add nginx
二访问状态统计
Nginx内置了 HTTP_STUB_STATUS 状态统计模块,用来反馈当前的Web访问情况,配置编译参数时可添加 –with-http_stub_status_module 来启用此模块支持。要使用Nginx的状态统计模块功能,除了启用内置模块外,还需要修改nginx.conf 配置文件,指定访问位置并添加stub_status配置代码。
重启服务 ,关闭防火墙。在浏览器中访问测试
三Nginx虚拟主机
利用虚拟主机,不用为每个 要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程,虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。
1.修改主配置文件,在配置文件最后加入2个新的server{}段,对应两个域名
2.创建各个网站的目录和测试首页
3.安装DNS 提供域名解析
更改主配置文件 vim /etc/named.conf
更改区域配置文件
更改区域数据配置文件,
cp –p named.localhost benet.com.zone
cp –p named.localhost accp.com.zone
4.启动DNS服务,并测试解析
重启Nginx服务
5.分别访问这两个域名,查看是否访问到不同页面,测试配置是否成功
四。基于授权访问控制
Nginx与Apache 一样,可以实现基于用户授权的访问控制,当用户想要访问相应的网站或目录时,要求用户输入用户名和密码才能正常访问。
1.使用htpasswd生成用户认证文件,在/usr/local/nginx/目录下生成passwd.db文件,用户名是zhangsa,密码输入两次。
2.修改密码文件权限为400,将所有者改为nginx
3.修改主配置文件,添加相应的认证配置项。
4.重启服务,检验语法
5.用浏览器访问网站
五。基于客户端控制
基于客户端的访问控制是通过客户端的IP地址,绝对是否允许对页面访问。Nginx基于客户端的访问控制要比Apache简单,规则如下:
deny IP/IP段 :拒绝某个IP或IP段的客户端访问
allow IP/IP段 :允许某个IP或IP段的客户端访问
规则从上往下执行,如匹配则停止,不再往下匹配
1.修改主配置文件,添加相应的配置项
2.重启服务,检验语法
3.访问测试
原文地址:http://blog.51cto.com/13706703/2159762