首页 > 系统相关 > Nginx优化与防盗链

Nginx优化与防盗链

时间:2023-02-11 23:01:17浏览次数:39  
标签:www centos nginx 优化 local Nginx root 防盗链

文章介绍

  Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。本文跟大家分享nginx的基础优化和安全.

详情介绍

  Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。

  nginx一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好

服务器:

   Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。
   处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。
   无缓存的反向代理加速,简单的负载均衡和容错。
   FastCGI,简单的负载均衡和容错。
   模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。
   支持 SSL 和 TLSSNI。

代码:

   Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。

代理服务器:

   作为邮件代理服务:Nginx 同时也是一个非常优秀的邮件代理服务(最早开发这个产品的目的之一也是作为邮件代理服务器),​last.fm 描述了成功并且美妙的使用经验。
   Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。


实验配置

拓扑图:

 Nginx优化与防盗链_nginx

推荐步骤:
  • 在 Centos01 上安装 Nginx,设置网站根目录/www 使用域名 www.suifeng.com 访问
  • 在 Centos02 上安装 DNS ,使用域名www.suifeng.com访问 Centos01,Centos03 使用 yum 安装apache 使用域名 www.sakura.com 访问
  • 在 www.suifeng.com 域名的网站隐藏 Nginx 版本、查看 Nginx 管理用户、设置网页缓存、配置Nginx 日志切割、设置超时时间
  • 在 www.suifeng.com​ 网站配置防盗链防止 www.sakura.com​ 盗 www.suifeng.com 的连接
实验步骤:

一,在Centos01上安装安装Nginx,设置网站根目录/www 使用域名www.l.com访问

1,在centos01上安装nginx依赖

1)挂载系统盘

 Nginx优化与防盗链_centos_02

2)挂载系统光盘配置本地yum仓库

[root@centos ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos ~]# ls /mnt/
CentOS_BuildTag GPL
LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages
RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata
TRANS.TBL
[root@centos ~]# rm -rf /etc/yum.repos.d/CentOS-* //删除系统网络源
[root@centos ~]# ls /etc/yum.repos.d/
local.repo
[root@centos ~]# cat /etc/yum.repos.d/local.repo //配置本地yum仓库

[local]
name=centos7
baseurl=file:///mnt
enabled=1
gpgcheck=0

3)安装依赖程序

[root@centos ~]# yum -y install pcre-devel zlib-devel

4)创建管理nginx用户

[root@centos ~]# useradd -M -s /sbin/nologin nginx

2,配置安装nginx服务

1)切换云计算光盘

[root@centos ~]# umount /mnt/       //卸载目前挂载光盘

 Nginx优化与防盗链_centos_03

[root@centos ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

2)解压缩配置nginx

[root@centos ~]# tar zxf /mnt/nginx-1.6.0.tar.gz -C /usr/src/ 
[root@centos ~]# cd /usr/src/nginx-1.6.0/
[root@centos nginx-1.6.0]# ./configure \
--prefix=/usr/local/nginx \ //安装位置
--user=nginx \ //nginx管理用户
--group=nginx \ //管理组
--with-http_stub_status_module //配置监控模块

3)编译安装nginx

[root@centos nginx-1.6.0]# make && make install

4)优化nginx命令检查配置文件

[root@centos ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

 Nginx优化与防盗链_nginx_04

3,设置nginx服务器网站根目录设置主页修改配置文件

1)创建网站根目录设置主页

[root@centos ~]# mkdir /www
[root@centos ~]# echo "www.suifeng.com" > /www/index.html

2)修改nginx主配置文件

[root@centos ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak   //备份配置文件预防配置出错
[root@centos ~]# vim /usr/local/nginx/conf/nginx.conf

 Nginx优化与防盗链_Nginx_05

3)检查nginx主配置文件是否出错

 Nginx优化与防盗链_nginx_06

4)启动nginx服务监听端口

[root@centos ~]# nginx

 Nginx优化与防盗链_centos_07

二,在Centos02上安装DNS使用域名访问Centos01上使用域名www.suifneg.com访问,Centos03使用yum安装apache使用域名www.sakura.com访问

1,安装DNS服务设置开机自动自启

1)挂载系统光盘

 Nginx优化与防盗链_Nginx_08

[root@centos02 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos02 ~]# ls /mnt/
CentOS_BuildTag GPL
LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages
RPM-GPG-KEY-CentOS-Testing-7
EULA
isolinux repodata
TRANS.TBL

2)安装DNS服务

 Nginx优化与防盗链_Nginx_09

3)设置开机自启

[root@centos02 ~]# systemctl enable named

2,修改主配置文件和区域配置文件

1)修改DNS主配置文件

[root@centos02 ~]# vim /etc/named.conf

 Nginx优化与防盗链_nginx_10

2)检查文件是否出错

[root@centos02 ~]# named-checkconf /etc/named.conf

3)修改区域配置文件

[root@centos02 ~]# vim /var/named/suifeng.com.zone

 Nginx优化与防盗链_centos_11

[root@centos02 ~]# vim /var/named/sakura.com.zone

 Nginx优化与防盗链_nginx_12

4)检查文件是否出错

 Nginx优化与防盗链_nginx_13

4,在Centos03上使用yum安装apache设置网站主页,客户端访问Nginx和Apache

1)挂载系统光盘

 Nginx优化与防盗链_centos_14

[root@centos03 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos03 ~]# ls /mnt/
CentOS_BuildTag GPL
LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages
RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata
TRANS.TBL

2)配置本地yum源

[root@centos03 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos03 ~]# ls /etc/yum.repos.d/
local.repo
[root@centos03 ~]# cat /etc/yum.repos.d/local.repo
[local]
name=centos7
baseurl=file:///mnt
enabled=1
gpgcheck=0

3)安装apache服务设置开机自启

[root@centos03 ~]# yum -y install httpd
[root@centos03 ~]# systemctl enable httpd

4)设置网站主页启动服务

[root@centos03 ~]# echo "www.sakura.com" > /var/www/html/index.html

5)启动服务查看服务运行状态

[root@centos03 ~]# systemctl start httpd

 Nginx优化与防盗链_Nginx_15

6)客户端访问nginx

 Nginx优化与防盗链_Nginx_16

7)客户端访问apache

 Nginx优化与防盗链_nginx_17

三,在Nginx网站隐藏Nginx版本、查看Nginx管理用户、设置网页缓存、配置Nginx日志切割、设置超时时间、配置防盗链

1,在Nginx网站服务器配置将Nginx版本伪装位IIS不显示不版本号,查看管理Nginx进程用户

1)配置修改nginx源代码伪装版本信息

[root@centos ~]# vim /usr/src/nginx-1.6.0/src/core/nginx.h

 Nginx优化与防盗链_Nginx_18

[root@centos ~]# vim /usr/src/nginx-1.6.0/src/http/ngx_http_header_filter_module.c

 Nginx优化与防盗链_centos_19

2)关闭nginx

[root@centos ~]# killall nginx
[root@centos ~]# killall nginx
nginx: no process found

3)重新配置编译安装nginx

[root@centos ~]# cd /usr/src/nginx-1.6.0/
[root@centos nginx-1.6.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx --group=nginx \
--with-http_stub_status_module
[root@centos nginx-1.6.0]# make && make install

4)启动nginx

[root@centos nginx-1.6.0]# nginx

5)验证伪装的nginx版本

 Nginx优化与防盗链_nginx_20

6)修改nginx主配置文件隐藏版本

[root@centos nginx-1.6.0]# vim /usr/local/nginx/conf/nginx.conf

 Nginx优化与防盗链_Nginx_21

7)重启服务

[root@centos nginx-1.6.0]# killall nginx
nginx: no process found
[root@centos nginx-1.6.0]# nginx

8)客户端验证

 Nginx优化与防盗链_centos_22

8)管理nginx服务进程用户

 Nginx优化与防盗链_centos_23

2,在nginx网站服务器配置网页缓存时间

1)修改nginx主配置文件

[root@centos ~]# vim /usr/local/nginx/conf/nginx.conf

 Nginx优化与防盗链_nginx_24

2)客户端访问验证

 Nginx优化与防盗链_centos_25

3,配置nginx日志切割

1)创建目录存储切割日志后数据

[root@centos ~]# mkdir /nginx_log

2)创建日志切割脚本

[root@centos ~]# vim /opt/nginx_log_bak.sh
#!/bin/bash
# Filename: fenge.sh
d=$(date -d "-1 day" "+%Y%m%d")
logs_path="/nginx_log/"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path
mv /usr/local/nginx/logs/www.suifeng.com.access.log
${logs_path}/www.suifeng.com^Baccess.log-$d
kill -USR1 $(cat $pid_path)
find $logs_path -mtime +30 |xargs rm -rf
[root@centos ~]# chmod +x /opt/nginx_log_bak.sh //脚本添加执行权限

3)设置计划任务周期备份nginx日志,每间隔两分钟备份一次日志

[root@centos ~]# crontab -e
*/2 * * * * /opt/nginx_log_bak.sh

4)查看生成日志

[root@centos ~]# ls /nginx_log/
www.suifeng.com?access.log-20230211

4,设置nginx网站服务器保持时间和进程优化

1)修改nginx主配置文件支持保持时间和进程优化

[root@centos ~]# vim /usr/local/nginx/conf/nginx.conf

 Nginx优化与防盗链_centos_26

2)重启nginx

[root@centos ~]# killall nginx
[root@centos ~]# killall nginx
nginx: no process found
[root@centos ~]# nginx

3)查看nginx进程

 Nginx优化与防盗链_centos_27

5,配置nginx压缩数据

1)修改主配置文件支持压缩数据

[root@centos ~]# vim
/usr/local/nginx/conf/nginx.conf

 Nginx优化与防盗链_Nginx_28

2)重新启动nginx服务

[root@centos ~]# killall nginx
[root@centos ~]# killall nginx
nginx: no process found
[root@centos ~]# nginx

3)查看配置的压缩数据

 Nginx优化与防盗链_Nginx_29

6,配置nginx防盗链

1)上传错误图片

[root@centos www]# ls
error.png index.html logo.jpg

2)访问nginx图片

 Nginx优化与防盗链_nginx_30

3)设置apache盗用nginx链接

[root@centos03 ~]# vim /var/www/html/index.html
www.sakura.com<br/>
<img src="http://www.suifeng.com/logo.jpg"/>

4)访问apache

 Nginx优化与防盗链_centos_31

5)修改nginx主配置文件防止盗链接

[root@centos www]# vim /usr/local/nginx/conf/nginx.conf

 Nginx优化与防盗链_Nginx_32

6)重启nginx服务

[root@centos www]# killall nginx
[root@centos www]# killall nginx
nginx: no process found
[root@centos www]# nginx

7)验证盗链接

 Nginx优化与防盗链_Nginx_33

 Nginx优化与防盗链_Nginx_34




“博主还是学生目前正在努力学习阶段如有不对请指出,虚心接受指导,感谢!!!”

标签:www,centos,nginx,优化,local,Nginx,root,防盗链
From: https://blog.51cto.com/u_15739582/6051015

相关文章

  • MySQL——优化(一)理论基础
    一、InnoDB和MyISAM的存储方式1、InnoDB存储方式使用的B+Tree数据结构,物理存储角度是聚簇索引对于主键索引:叶子节点会存储主键以及主键所对应数据块的指针;对应非主......
  • nginx主配置介绍
    1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成workerprocess数等。2、events块:配置影响ngin......
  • Nginx服务器---安装与启动
    遇到需要使用Nginx服务器的案例,简单记录一下整个过程。 整体过程:1.https://nginx.org/en/download.htmlNginx官方安装地址Mainlineversion(主流版)Stableversion(稳......
  • 面试题--mysql的数据库优化
    mysql的数据库优化 当有人问你如何对数据库进行优化时,很多人第一反应想到的就是SQL优化,如何创建索引,如何改写SQL,他们把数据库优化与SQL优化划上了等号。当然这不......
  • 前端知识学习案例9-tailWind Css+vite2.0-项目优化
    开启jit模式 修改手写settimeout等待......
  • 【踩坑日记】nginx server_name配置多域名的坑
    各位技术大佬,大家好,我是练习时长两年半的代码练习生,Max,喜欢技术,后端和架构。问题介绍项目配置了多个域名,如下,php代码中有获取$_SERVER['SERVER_NAME']的值。server......
  • 好客租房178-添加loading优化体验
    importReactfrom'react'//导入axiosimportaxiosfrom'axios'import{Link}from'react-router-dom'import{Toast}from'antd-mobile'//导入封装好的NavHeade......
  • 好客租房176-获取房源数据优化
    importReactfrom'react'//导入axiosimportaxiosfrom'axios'import{Link}from'react-router-dom'//导入封装好的NavHeader组件importNavHeaderfrom'../../......
  • Nginx 出现403 Forbidden 的几种解决方案
    一、启动用户和nginx工作用户不一致所致查看nginx的启动用户:打开nginx.conf文件viconf/nginx.confusernginx;改为viconf/nginx.confusernginx;改为userroot;二......
  • 一步一步教你Apache网页优化和安全配置
    Apache网页优化和安全一、在Centos01上安装apache配置网站服务器拓扑图:1、在Centos01上安装apache服务配置网站1)切换光盘      2)挂载光盘解压源代码程序[root@ce......