需要准备的安装包:
可以先通过远程挂载的方式将压缩包从Windows系统,挂载到linux系统,之后再进行压缩等操作。
百度云盘链接:https://pan.baidu.com/s/1Ly31-Ph3CFf470jbWSIv0g
在一台IP地址为 192.168.220.134 的 centos7系统中
1、安装依赖包
yum -y install gcc gcc-c++ make pcre-devel zlib-devel
2、创建名为nginx的用户,且不允许登录系统
useradd -M -s /sbin/nologin nginx
3、挂载,并解压安装包到指定/opt/中
mount.cifs //192.168.10.106/share /mnt #192.168.10.106是我的宿主机IP地址
tar zxvf nginx-1.12.2.tar.gz -C /opt/
1、编译配置
cd /opt/nginx-1.12.2/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
//安装统计模块
2、make编译
make && make install
3、关闭防火墙,优化路径
systemctl stop firewalld
setenforce 0
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
4、检查是否有误
[root@localhost nginx-1.12.2]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
5、安装 elinks 安装包,用elinks测试
yum -y install elinks
elinks http://localhost
nginx //启动
killall -1 nginx //重启
killall -3 nginx //停止
1、制作管理脚本,来控制 Nginx 的开启关闭。
vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service 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
2、添加执行权限,将脚本文件添加到服务列表中
cd /etc/init.d
chmod +x nginx
chkconfig --add nginx
chkconfig --level 35 nginx on //开机自启
service nginx start
//启动不行,就先service nginx stop,再service nginx start
[root@localhost init.d]# netstat -natp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 47086/nginx: master
1、全局配置
#user nobody; //运行用户
worker_processes 1; //工作运行数量
#error_log logs/error.log; //错误日志文件的位置
#pid logs/nginx.pid; //PID文件的位置
2、I/O 事件配置
events {
worker_connections 1024; //每进程处理1024个连接
}
3、HTTP 配置
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main; //访问日志位置
sendfile on; //支持文件发送(下载)
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65; //连接保持超时
#gzip on;
server { //web服务器的监听配置
listen 80; //监听端口
server_name localhost; //域名
#charset utf-8; //网页的默认字符集
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
可使用命令: /usr/local/nginx/sbin/nginx -V 来查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块。
要使用 Nginx 的状态统计功能,除了启用内建模块以外,还需要修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置代码。
在nginx.conf 配置文件 只修改 server{}区域:
修改三处
server {
listen 80; //监听地址
server_name www.test.com; //第一处:修改监听域名
charset utf-8; //第二处:修改字符集
#access_log logs/host.access.log;
location / {
root html;
index index.html index.htm;
}
//增添一段location /status
location /status {
stub_status on;
access_log off;
}
}
修改好配置文件之后,重启一下服务即可。
service nginx stop
service nginx start
1、安装
yum -y install bind
2、修改
vim /etc/named.conf
vim /etc/named.rfc1912.zones
//复制修改
zone "test.com" IN {
type master;
file "test.com.zone";
allow-update { none; };
};
systemctl restart named
在一台 win10系统的客户端中
修改DNS服务器的地址
在win10的浏览器中输入 www.test.com/status
基于授权的访问控制配置思路:
1、修改主配置文件 nginx.conf ,添加相应认证配置项。
auth_basic "secret";
auth_basic_user_file /usr/local/nginx/passwd.db;
yum install httpd-tools -y
htpasswd 命令生成用户认证文件
htpasswd -c /usr/local/nginx/passwd.db test01
service nginx restart
4、这时,用win10的浏览器访问网址www.test.com,就会要求输入用户名 test01 和密码abc123
可以通过客户端的 IP地址,决定是否允许对页面访问,规则如下:
我的win10主机 IP地址为 192.168.220.132
配置过程:
1、修改主配置文件 nginx.conf ,添加相应认证配置项。
deny 192.168.220.132;
allow all;
//不允许192.168.220.132 这个ip的客户端访问
service nginx restart