1分钟系列-Nginx 安装,准备访问日志

简介: 1分钟系列-Nginx 安装,准备访问日志

Nginx 简介

Nginx 是一款轻量级的 Web 服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。而 Nginx 的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一。如何有效便捷的采集 Nginx 的日志进行有效的分析成为大家关注的问题(下一节分享 Filebeat 进行日志采集)。

Nginx 互联网架构

高可用

Nginx 作为请求入口,很重要,如果出现单点问题,显然是不可接受的。可以通过 Keepalived+Nginx 实现高可用。

Keepalived 是一个高可用解决方案,主要是用来防止服务器单点发生故障,可以通过和 Nginx 配合来实现 Web 服务的高可用。

实现高可用的思路:

  • 请求不要直接打到 Nginx 上,应该先通过 Keepalived(这就是所谓虚拟IP,VIP)
  • Keepalived 通过监控 Nginx 的生命状态(提供一个用户自定义的脚本,定期检查 Nginx 进程状态,进行权重变化,从而实现 Nginx 故障切换)

Nginx 安装

yum 安装 Nginx



# 使用 yum 安装是在线安装,直接使用命令 yum -y install nginx 安装即可yum -y install nginx
启动 Nginx 服务


service nginx startStarting nginx:                                [  OK  ]
停止 Nginx 服务


service nginx stop Stopping nginx:                                [  OK  ]
重启 Nginx 服务



service nginx restartStopping nginx:                                [  OK  ]Starting nginx:                                [  OK  ]

源码包安装 Nginx

首先安装缺少的依赖包















# 下载路径为 /usr/local/src/cd /usr/local/src/
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gztar -zxvf ngx_cache_purge-2.3.tar.gz 
wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz tar -zxvf openssl-1.0.2h.tar.gz 
wget https://ftp.pcre.org/pub/pcre/pcre-8.38.tar.gztar -zxvf pcre-8.38.tar.gz
# https://github.com/yaoweibin/nginx_upstream_check_modulewget https://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zipunzip master.zip -d /usr/local/src
下载并解压 Nginx


wget http://nginx.org/download/nginx-1.10.1.tar.gztar -zxvf nginx-1.10.1.tar.gz
解压缩后,可以看到 nginx-1.10.1 目录,然后进入这个目录








# 进入这个目录cd nginx-1.10.1/
# 执行配置./configure --user=www-data --group=www-data --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --add-module=/usr/local/src/nginx_upstream_check_module-master --add-module=/usr/local/src/ngx_cache_purge-2.3 --with-http_v2_module --with-openssl=/usr/local/src/openssl-1.0.2h
# make 命令 make && make install
常用编译选项说明
  • --prefix=PATH :指定 nginx 的安装目录。默认 /usr/local/nginx,我的是 /usr/local/nginx
  • --conf-path=PATH :设置 nginx.conf 配置文件的路径。nginx 允许使用不同的配置文件启动,通过命令行中的 -c 选项。默认为 conf/nginx.conf
  • --user=name :设置 nginx 工作进程的用户。安装完成后,可以随时在 nginx.conf 配置文件更改 user 指令。默认的用户名是nobody--group=name 类似
  • --with-pcre :设置 PCRE 库的源码路径,如果已通过 yum 方式安装,使用 --with-pcre 自动找到库文件。使用 --with-pcre=PATH 时,需要从 PCRE 网站下载pcre库的源码(8.39)并解压,指定 pcre 的源码路径 ,比如:--with-pcre=/root/pcre-8.39/perl 正则表达式使用在 location 指令和 ngx_http_rewrite_module 模块中。
  • --with-zlib=PATH :指定 zlib(版本1.1.3 - 1.2.5)的源码解压目录。在默认就启用的网络传输压缩模块 ngx_http_gzip_module 时需要使用 zlib
  • --with-http_ssl_module :使用 https 协议模块。默认情况下,该模块没有被构建。前提是 opensslopenssl-devel 已安装
  • --with-http_stub_status_module :用来监控 Nginx 的当前状态
  • --with-http_realip_module :通过这个模块允许我们改变客户端请求头中客户端 IP 地址值(例如 X-Real-IPX-Forwarded-For),意义在于能够使得后台服务器记录原始客户端的 IP 地址
  • --add-module=PATH :添加第三方外部模块,如 nginx-sticky-module-ng 或缓存模块。每次添加新的模块都要重新编译
启动、停止 Nginx














groupadd -f www-datauseradd -g www-data www-data
# 启动 nginx 服务/usr/local/nginx/sbin/nginx
# 查看进程ps -ef | grep nginxroot     37755     1  0 12:16 ?        00:00:00 nginx: master process sbin/nginxwww-data 37756 37755  0 12:16 ?        00:00:00 nginx: worker processroot     37758 30529  0 12:16 pts/1    00:00:00 grep --color=auto nginx
# 停止 nginx 服务/usr/local/nginx/sbin/nginx -s stop

Nginx 验证

  • 启动后 ,在浏览器中 输入服务器的 ip 地址,就可以看到

  • 查看日志














cd /usr/local/nginx/logs
ls -altotal 12drwxr-xr-x  2 root root  58 May  9 12:16 .drwxr-xr-x 11 root root 151 May  9 12:16 ..-rw-r--r--  1 root root 435 May  9 12:18 access.log-rw-r--r--  1 root root 329 May  9 12:18 error.log-rw-r--r--  1 root root   6 May  9 12:16 nginx.pid
tail -20f access.log192.168.111.31 - - [09/May/2020:12:18:17 -0400] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"192.168.111.31 - - [09/May/2020:12:18:18 -0400] "GET /favicon.ico HTTP/1.1" 404 571 "http://192.168.111.238/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"192.168.111.31 - - [09/May/2020:12:19:54 -0400] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"

下一步计划

Beats 采集数据

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
5月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
180 2
|
10月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
1255 0
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
883 90
|
9月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
1075 4
|
12月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
843 60
|
域名解析 应用服务中间件 网络安全
阿里云个人博客外网访问中断应急指南:从安全组到日志的七步排查法
1. 检查安全组配置:确认阿里云安全组已开放HTTP/HTTPS端口,添加规则允许目标端口(如80/443),授权对象设为`0.0.0.0/0`。 2. 本地防火墙设置:确保服务器防火墙未阻止外部流量,Windows启用入站规则,Linux检查iptables或临时关闭防火墙测试。 3. 验证Web服务状态:检查Apache/Nginx/IIS是否运行并监听所有IP,使用命令行工具确认监听状态。 4. 测试网络连通性:使用外部工具和内网工具测试服务器端口是否开放,排除本地可访问但外网不可的问题。 5. 排查DNS解析:确认域名A记录指向正确公网IP,使用`ping/nslookup`验证解析正
469 2
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
1319 25
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
4812 8
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
1309 3