一、Nginx服务基础
实验材料:
一台Centos7担任Nginx服务器:192.168.1.10
一台Centos7担任DNS域名解析:192.168.1.110
一台Win7担任客户机:192.168.1.20
Nginx源码包:
https://pan.baidu.com/s/1sO9x7JDFH7TeSgc56mL-gw
提取码:pacr
1.1、安装及运行控制
1)编译安装Nginx
[root@Nginx-Server ~]# systemctl stop firewalld (关闭防火墙)
[root@Nginx-Server ~]# setenforce 0 (临时关闭selinux)
[root@Nginx-Server ~]# mount /dev/cdrom /mnt/ (挂载)
[root@Nginx-Server ~]# yum -y install pcre-devel zlib-devel gcc* (安装支持软件)
[root@Nginx-Server ~]# groupadd nginx (创建运行组)
[root@Nginx-Server ~]# useradd -M -s /sbin/nologin nginx -g nginx (创建运行用户,加入nginx组)
[root@Nginx-Server ~]# rz (将nginx源码包拖进来)
[root@Nginx-Server ~]# tar zxf nginx-1.12.2.tar.gz (解压)
[root@Nginx-Server ~]# cd nginx-1.12.2/ (进入解压目录)
进行配置,编译,安装:
[root@Nginx-Server nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install
创建软链接优化执行路径
[root@Nginx-Server nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
2)Nginx的运行控制
[root@Nginx-Server nginx-1.12.2]# cd
[root@Nginx-Server ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
显示ok表示配置文件正确
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@Nginx-Server ~]# nginx (启用nginx)
[root@Nginx-Server ~]# netstat -anpt | grep nginx (查看nginx是否运行)
[root@Nginx-Server ~]# nginx -s stop (关闭nginx)
3)使用Nginx服务脚本
[root@Nginx-Server ~]# vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: - 99 20
#description: Nginx Server Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
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
[root@Nginx-Server ~]# chmod +x /etc/init.d/nginx (添加可执行权限)
[root@Nginx-Server ~]# chkconfig --add nginx (添加为系统服务)
[root@Nginx-Server ~]# systemctl start nginx (开启nginx服务)
[root@Nginx-Server ~]# systemctl status nginx (查看nginx运行状态)
1.2、配置文件 /usr/local/nginx/conf/nginx.conf
1)全局配置参数
2)I/O时间配置
3)HTTP配置
4)访问测试
二、访问状态统计
1)nginx的访问状态统计
[root@Nginx-Server ~]# nginx -t (检查配置文件是否正确)
[root@Nginx-Server ~]# systemctl restart nginx (重启nginx服务)
2)访问测试
三、虚拟主机的设置
基于域名的虚拟主机
[root@Nginx-Server ~]# mkdir -p /var/www/ajbn (创建ajbn目录)
[root@Nginx-Server ~]# mkdir -p /var/www/ajbm (创建ajbm目录)
分别给两个网页写入不同数据:
[root@Nginx-Server ~]# echo "<h1>www.ajbn666</h1>" > /var/www/ajbn/index.html
[root@Nginx-Server ~]# echo "<h1>www.ajbm888</h1>" > /var/www/ajbm/index.html
[root@Nginx-Server ~]# vim /usr/local/nginx/conf/nginx.conf (编辑主配置文件)
[root@Nginx-Server ~]# nginx -t (检查nginx配置文件是否正确)
[root@Nginx-Server ~]# systemctl restart nginx (重启nginx服务)
[root@Nginx-Server ~]# netstat -anpt | grep nginx (查看端口是否启动)
在DNS域名解析服务器上做指定
192.168.1.110:
[root@DNS-Server ~]# mount /dev/cdrom /mnt/ (挂光盘)
[root@DNS-Server ~]# yum -y install bind (安装DNS软件包)
[root@DNS-Server ~]# vim /etc/named.conf (修改DNS主配置文件)
滑倒最下面:
修改区域配置文件
[root@DNS-Server ~]# cd /var/named/ (进入dns区域配置文件)
[root@DNS-Server named]# ls (查看)
将区域配置文件模板分别复制给两个文件里:
[root@DNS-Server named]# cp named.localhost ajbn
[root@DNS-Server named]# cp named.localhost ajbm
[root@DNS-Server named]# vim ajbn
[root@DNS-Server named]# vim ajbm
[root@DNS-Server named]# chown -R named:named ajbn (将ajbn属主和属组改为named)
[root@DNS-Server named]# chown -R named:named ajbm (将ajbm属主和属组改为named)
[root@DNS-Server named]# ll (查看属主和属组是否成功)
[root@DNS-Server named]# systemctl restart named (重启dns服务)
在客户端测试验证
将DNS指向DNS服务器IP地址: