nginx

Rocky9安装nginx

Rocky Linux附带了旧版本的Nginx,需要下载官方Nginx存储库才能安装最新版本。这里安装stable版本

sudo vi /etc/yum.repos.d/nginx.repo

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

执行:

sudo dnf install nginx  -y && sudo systemctl start nginx &&  sudo systemctl enable nginx && nginx -v 

nginx开启 gzip

sudo vi /etc/nginx/nginx.conf

user  nginx;
#user www-data;


        ##
        # Gzip Settings
        ##

        gzip on;

        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_comp_level 6;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
        gzip_min_length 1k;
        gzip_disable   "MSIE [1-6]\.";

sudo service nginx restart

设置https

参考:https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-rocky-linux-8

sudo dnf install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yinhe.co -d www.yinhe.co

自动续期测试:

sudo certbot renew --dry-run

每日更新(不能用相对路径):

0 2 * * * /usr/bin/certbot renew --quiet

隐藏nginx版本号

sudo vi /etc/nginx/nginx.conf

在http段增加:

        server_tokens off;

sudo service nginx restart

使用 goaccess 监控nginx

参考:

安装:

sudo dnf config-manager --set-enabled crb && sudo dnf install ncurses-devel gcc  glibc-langpack-zh -y && sudo dnf --enablerepo=remi install GeoIP-devel -y && sudo dnf install goaccess -y && sudo localectl set-locale LANG="zh_CN.utf8" && sudo localectl set-locale LC_ALL="zh_CN.utf8"  && goaccess --version 

重启:reboot

mmdb格式数据库下载: https://github.com/P3TERX/GeoLite.mmdb/releases

cd /opt/ && wget https://github.com/P3TERX/GeoLite.mmdb/releases/download/2025.10.07/GeoLite2-City.mmdb

sudo vi /etc/goaccess/goaccess.conf

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
geoip-database /opt/GeoLite2-City.mmdb

测试生成html,访问: https://yinhe.co/goaccess.html 查看效果

zcat -f /var/log/nginx/access.log* | goaccess -enable-utf8 -enable-geoip=mmdb  -enable-tcb=btree --log-format=COMBINED -a -d  -p /etc/goaccess/goaccess.conf -o /yinheco/goaccess.html

每20分钟执行一次: sudo vi /etc/crontab

*/20 * * * * root zcat -f /var/log/nginx/access.log* | goaccess - -enable-utf8 -enable-geoip=mmdb  -enable-tcb=btree --log-format=COMBINED -a -d  -p /etc/goaccess/goaccess.conf -o /yinheco/goaccess.html

其他

1、NixVis

<p>nginx</p>

开源的轻量级 Nginx 日志分析工具,自带 Web UI,使用 Go 语言开发。

2、GIXY

一个开源的命令行工具,检查 NGINX 的配置文件是否有错误。

3、ngtop

一个命令行工具,用来查询 nginx 日志。

4、Nginx 日志详解(英文)

<p>nginx</p>

本文详细介绍如何配置 Nginx 的访问日志功能。

5、php-nginx

<p>nginx</p>

用 php 开发的类似 nginx 的 web 服务器,可用于学习。

6、 雷池:网站防护软件

做过网站的同学都知道,每天的恶意请求成千上万,就想找到你的漏洞。

今天,向大家介绍一个网站防护项目,中文名为“雷池”。

<p>nginx</p>

它本质是一个反向代理,架设在网站前面,可以灵活设定各种规则,对所有请求进行过滤,不让黑客“越雷池半步”。

它底层基于 Nginx,自带图形操作界面,简单好用。它的核心是智能语义分析算法,用来判断可疑请求,相当于一层自定义的软件防火墙,

它在 GitHub 已经收获了9000 star,目前是全球排名第一的开源 WAF 项目。

它可以自己架设,很适合个人和小企业使用。如果你需要防护暴露在公网的 Web 服务器,不妨用它试试看。

正文完
 0
评论(没有评论)