欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx设置

程序员文章站 2024-03-21 10:00:22
...

关于Nginx

一款高性能、 轻量级Web服务软件
1.稳定性高
2.系统资源消耗低
3.对HTTP并发连接的处理能力高:单台物理服务器可支持30000 ~ 50 000个并发请求

Nginx编译安装

1.远程共享及挂载

smbclient -L //192.168.100.7/
mkdir /abc
mount.cifs //192.168.100.7/LAMP-C7 /abc

2.解压源码包

tar zxvf nginx-1.12.2.tar.gz -C /opt/

3.下载安装编译组件包

yum -y install gcc gcc-c++ pcre-devel zlib-devel

4.创建程序用户并配置Nginx服务相关组件

[aaa@qq.com opt]# useradd -M -s /sbin/nologin nginx
//创建程序用户nginx,并限定其不可登录终端
[aaa@qq.com opt]# cd nginx-1.12.0/
[aaa@qq.com nginx-1.12.0]# ./configure \			//配置nginx
> --prefix=//usr/local/nginx \		//指定安装路径						
> --user=nginx \                    //指定用户名
> --group=nginx \                   //指定用户所属组
> --with-http_stub_status_module    //安装状态统计模块

5.编译与安装

 make && make install

6.优化Nginx服务启动脚本,并建立命令软连接

[aaa@qq.com nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 
//创建nginx服务命令软链接到系统命令
[aaa@qq.com nginx-1.12.0]# systemctl stop firewalld.service   //关闭防火墙
[aaa@qq.com nginx-1.12.0]# setenforce 0                       //关闭增强型安全功能
[aaa@qq.com nginx-1.12.0]# nginx                              //输入nginx 开启服务
[aaa@qq.com nginx-1.12.0]# netstat -ntap | grep 80		//查看服务的80 端口,显示已开启
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7520/nginx: master  

7.使用浏览器访问192.168.35.132,即可访问到Nginx服务的首页

Nginx设置

8.制作管理脚本

cd /etc/init.d/

vim nginx
#!/bin/bash
# chkconfig: - 99 20                                    
##注释信息
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"           ##设置变量为nginx命令文件
PIDF="/usr/local/nginx/logs/nginx.pid"       ##设置变量PID文件 进程号为5346
case "$1" in  
    start)
        $PROG                                                  ##开启服务
        ;;
    stop)
        kill -s QUIT $(cat $PIDF)					           ##关闭服务
        ;;
    restart)                                                   ##重启服务
        $0 stop
        $0 start
        ;;
    reload)                                                    ##重载服务
        kill -s HUP $(cat $PIDF)
        ;;
    *)                                                          
                echo "Usage: $0 {start|stop|restart|reload}"   ##错误输入提示
                exit 1
esac
exit 0

[aaa@qq.com init.d]# chmod +x nginx           //授予nginx执行权限
[aaa@qq.com init.d]# chkconfig --add nginx    //将nginx添加到service管理器
[aaa@qq.com init.d]# service nginx stop       //使用service控制nginx服务停止
[aaa@qq.com init.d]# service nginx start      //使用service控制nginx服务启动

Nginx的访问状态统计

启用HTTP STUB_ STATUS状态统计模块

1.配置编译参数时添加--with-http_ stub_ status_ module
2.nginx -V查看已安装的Nginx是否包含HTTP_ STUB_ STATUS模块

1.修改Nginx.conf配置文件

[aaa@qq.com ~]# vim /usr/local/nginx/conf/nginx.conf     //编辑Nginx.conf配置文件
 35     server {
 36         listen       80;
 37         server_name  www.bdqn.com;                       //在第37行指定域名
 39         charset utf-8;                                   //更改第39 行的内容,使其支持utf-8(中文字符集)


 43         location / {
 44             root   html;
 45             index  index.html index.htm;
 46         }
//在第46行下添加状态统计参数
         location /status {
              stub_status on;             ##统计模块开启
              access_log off;             ##访问日志关闭
          }     

2.安装并配置DNS服务

[aaa@qq.com ~]# yum -y install bind           //安装DNS服务的bind包
[aaa@qq.com ~]# vim /etc/named.conf           //编辑主配置文件

options {
        listen-on port 53 { any; };             ##将监听地址127.0.0.1替换为any,
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };               ##将授权localhost替换为any

[aaa@qq.com ~]# vim /etc/named.rfc1912.zones  //编辑区域配置文件

zone "bdqn.com" IN {                  ##将localhost替换为域名bdqn.com
        type master;            
        file "bdqn.com.zone";         ##指定区域数据配置文件bdqn.com.zone  
        allow-update { none; };        
};      

[aaa@qq.com ~]# cd /var/named
[aaa@qq.com named]# cp -p named.localhost bdqn.com.zone   //复制区域数据配置文件模板为bdqn.com.zone
[aaa@qq.com named]# vim bdqn.com.zone                     //编辑区域数据配置文件
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.235.158              ##删除原来末行的内容,添加域名解析地址为本机地址



[aaa@qq.com named]# systemctl start named               //开启dns服务
[aaa@qq.com named]# systemctl stop firewalld.service    //关闭防火墙
[aaa@qq.com named]# setenforce 0                        //关闭增强型安全功能

3.开启一台Windows系统的虚拟机测试访问状态统计

Nginx设置

Nginx设置


基于授权的访问控制

配置步骤与Apache基本一致

1.生成用户密码认证文件
2.修改主配置文件对相应目录,添加认证配置项
3.重启服务,访问测试

1.修改Nginx.conf配置文件

[aaa@qq.com named]# vim /usr/local/nginx/conf/nginx.conf    //编辑Nginx.conf配置文件

       location / {
                auth_basic "secret";                                ##验证类型为秘密
                auth_basic_user_file /usr/local/nginx/passwd.db;    ##指明验证文件路径
                root   html;
                index  index.html index.htm;
        }

2.安装httpd-tools工具包,并指定用户名与密码

[aaa@qq.com named]# yum install httpd-tools -y         //安装httpd-tools工具包

[aaa@qq.com named]# htpasswd -c /usr/local/nginx/passwd.db test  
##创建test用户密码认证文件
New password: 
##输入密码
Re-type new password: 
##确认输入密码
Adding password for user test

[aaa@qq.com named]# cat /usr/local/nginx/passwd.db     //查看密码文件信息
test:$apr1$mOje4UYz$BvRBABTcQB9XRG0SCCToZ1

[aaa@qq.com named]# killall -1 nginx                   //重载nginx服务

3.使用测试机验证访问控制授权效果,输入:www.bdqn.com

Nginx设置

Nginx设置