关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

nginx模块

发布时间:2023-06-30 18:01:27


配置nginx官方yum源

http://nginx.org/en/linux_packages.html#RHEL-CentOS

vim /etc/yum.repos.d/nginx.repo

[nginx-stable]

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1

搭建域名虚拟主机

        安装nginx并通过修改配置文件来指定网站存放目录为/data。

[root@node1 ~]# yum -y install nginx [root@node1 ~]# mkdir /data [root@node1 ~]# vim /etc/nginx/conf.d/www.conf server {  listen 80;  server_name www.aaa.com;  location / {  root /data;  index index.html index.htm;  } } [root@node1 ~]# systemctl start nginx [root@node1 ~]# cd /data/ [root@node1 data]# echo "192.168.1.10" > index.html

   

        此时可以看到网页存放在/data下,访问浏览器看到内容即可。

nginx索引

        在/data网站下,创建download下载目录,启用索引显示。

[root@node1 ~]# mkdir -p /data/download [root@node1 ~]# cp -rp /media/nginx-rpm/* /data/download/ //复制网页下载内容到download目录下,文件或安装包都可。 [root@node1 ~]# vim /etc/nginx/conf.d/data.conf //编辑配置文件 server {  location /download {  root /data;  autoindex on; //启用索引显示  charset utf-8,gbk; //字符编码为中文  autoindex_exact_size on; //显示文件大小  autoindex_localtime on; //显示文件创建时间  } } [root@node1 ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@node1 ~]# systemctl restart nginx [root@node1 ~]# chmod -R 707 /data/download/

   

状态索引

        针对网站启用状态化追踪。(在server字段下添加status模块)

[root@node1 ~]# vim /etc/nginx/conf.d/data.conf server { //省略部分内容  location /status {  stub_status; //启用状态化追踪  access_log off; //关闭status的日志记录  } } [root@node1 ~]# systemctl restart nginx

   

        访问http://192.168.1.10/status,可以看到下图所示内容。

Active connections: 2 当前活跃的连接数

server  accepts 2  当前的总tcp连接数

handled 2 成功的连接数

requests 4 总HTTP请求数

        下面可以通过客户端使用压力测试工具对nginx服务器进行压测。

[root@client ~]# yum -y install httpd-tools

[root@client ~]# ab -c 1000 -n 1000 http://192.168.1.10/status

在次刷新后可以看到相关数据

访问控制

       基于ip限制

        启用access模块,仅允许对内部网段或vpn访问status。在status模块中添加两行内容,测试时可以仅允许一个主机访问或划分子网。

[root@node1 ~]# vim /etc/nginx/conf.d/data.conf //省略部分内容 location /status {  stub_status;  access_log off;  allow 192.168.1.100; //仅允许1.100主机访问  deny all; //拒绝所有主机访问 } [root@node1 ~]# systemctl restart nginx

   

        测试使用1.100主机访问刷新几次显示正常,再用1.4客户端访问为Forbidden说明配置成功。

 

       基于用户限制

        启用auth模块,设置访问/status用户需要密码验证。

[root@node1 ~]# yum -y install httpd-tools [root@node1 ~]# htpasswd -b -c /etc/nginx/.auth_conf lisi 123 //用户lisi密码123 Adding password for user lisi [root@node1 ~]# vim /etc/nginx/conf.d/data.conf //省略部分内容 location /status { stub_status; access_log off; allow 192.168.1.100; deny all; auth_basic "input your passwd:"; //用户登录描述信息 auth_basic_user_file /etc/nginx/.auth_conf; //用户验证文件路径 } [root@node1 ~]# systemctl restart nginx

   

        根据下图所示输入用户密码后才能查看status内容,上面因为启用了IP限制,所以只能使用1.100主机访问。



/template/Home/leiyu/PC/Static