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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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 采集数据

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10天前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
192 7
|
1月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
|
2月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
82 3
|
2月前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
149 3
|
2月前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
336 1
|
3月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
194 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
2月前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
|
3月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
266 0
Mac os 安装 nginx 教程(success)
|
3月前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
3月前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用