目录
基础环境
操作系统 | 配置 | 主机名 | IP地址 |
CentOS 7.9 最小化安装 | 2C4G | bogon | 192.168.86.132 |
CentOS 7.9 桌面版 | 2C4G | localhost | 192.168.86.128 |
素材
nginx版本:nginx-1.12.0.tar.gz
依赖包:pcre-devel、zlib-devel
图片:logo_jpg.jpg
error.png
系统联网
# 在网卡配置文件中修改为DHCP模式,让其自动获取IP地址
[root@test01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
# ping百度网站看能否联通
[root@test01 ~]# pingbaidu.com
查看安全机制和防火墙是否关闭
# 用systemctl这个命令查看防火墙是否关闭
[root@test01 ~]# systemctl status firewalld
# 用getenforce命令查看安全机制是否关闭,回显是disabled则表示关闭
[root@test01 ~]# getenforce
安装Nginx服务器
使用yum安装编译环境及相关依赖包
[root@bogon ~]# yum -y install pcre-devel zlib-devel gcc gcc-*
创建运行用户和组
[root@bogon ~]# useradd -M -s /sbin/nologin nginx
解包、配置、编译安装
[root@bogon ~]# tar zxf nginx-1.12.0.tar.gz -C /usr/src/
[root@bogon ~]# cd /usr/src/nginx-1.12.0/
[root@bogon nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
# --prefix=/usr/local/nginx: 指定了 Nginx 的安装目录。安装完成后,Nginx 的二进制文件、配置文件和其他相关文件将被放置在这个目录下。
# --user=nginx: 指定了运行 Nginx 进程的用户的名称。在这个例子中,Nginx 将使用 nginx 用户来运行其工作进程。确保该用户已经在您的系统上创建。
# --group=nginx: 这指定了运行 Nginx 进程的组的名称。在这个例子中,Nginx 将使用 nginx 组来运行其工作进程。同样,确保该组已经在您的系统上创建。
# --with-http_stub_status_module: 这启用了 Nginx 的一个模块,该模块提供了一个简单的状态接口,用于监控基本的 Nginx 状态信息。
[root@bogon nginx-1.12.0]# make && make install
优化路径
[root@bogon nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
配置防盗链
模拟盗链
在/etc/hosts文件内写入
[root@bogon nginx-1.12.0]# vi /etc/hosts
192.168.86.138 www.kc01.com
192.168.86.138 www.kc02.com
在同一台物理主机中设置两台虚拟主机一台模仿盗链主机一台模仿盗链主机
[root@bogon nginx-1.12.0]# vi /usr/local/nginx/conf/nginx.conf
server {
liten 80;
server_name www.bt01.com;
location / {
root html/bt01;
index index.html index.htm;
}
}
server {
liten 80;
server_name www.bt02.com;
location / {
root html/bt02;
index index.html index.htm;
}
}
创建网站的根目录
[root@bogon nginx-1.12.0]# mkdir /usr/local/nginx/html/bt01
[root@bogon nginx-1.12.0]# mkdir /usr/local/nginx/html/bt02
把图片放到kc01的根目录下
[root@192 nginx-1.12.0]# cd
[root@192 ~]# ls
anaconda-ks.cfg error.png logo_jpg.jpg nginx-1.12.0.tar.gz
重载服务
[root@bogon ~]# 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
[root@bogon ~]# nginx -s reload
在桌面版的Linux系统中访问bt01
在kc02的根目录下写盗链的文件
[root@bogon ~]# vi /usr/local/nginx/html/kc02/index.html
<html><body><h1>hello</h1>
<img src="http://www.bt01.com/logo_jpg.jpg"/>
</body></html>
重载服务
[root@bogon ~]# 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
[root@bogon ~]# nginx -s reload
在桌面版的Linux系统中访问bt02就会看到bt02的主页有着bt01的图片
配置防盗链
打开主配置文件在主配置文件中的bt01段添加
[root@bogon ~]# vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.bt01.com;
location / {
root html/bt01;
index index.html index.htm;
}
location ~* \.(gif|jpg|jpep)$ { # 在bt01中添加
valid_referers *.bt01.com;
if ($invalid_referer) {
rewrite ^/ http://www.bt01.com/error.png;
}
}
}
重载服务
[root@bogon ~]# 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
[root@bogon ~]# nginx -s reload
在浏览器中访问