网站首页 > 技术教程 正文
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 start
Starting nginx: [ OK ]
停止 Nginx 服务
service nginx stop
Stopping nginx: [ OK ]
重启 Nginx 服务
service nginx restart
Stopping 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.gz
tar -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.gz
tar -zxvf pcre-8.38.tar.gz
# https://github.com/yaoweibin/nginx_upstream_check_module
wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zip
unzip master.zip -d /usr/local/src
下载并解压 Nginx
wget http://nginx.org/download/nginx-1.10.1.tar.gz
tar -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 协议模块。默认情况下,该模块没有被构建。前提是 openssl 与 openssl-devel 已安装
- --with-http_stub_status_module : 用来监控 Nginx 的当前状态
- --with-http_realip_module : 通过这个模块允许我们改变客户端请求头中客户端 IP 地址值(例如 X-Real-IP 或 X-Forwarded-For),意义在于能够使得后台服务器记录原始客户端的 IP 地址
- --add-module=PATH : 添加第三方外部模块,如 nginx-sticky-module-ng 或缓存模块。每次添加新的模块都要重新编译
启动、停止 Nginx
groupadd -f www-data
useradd -g www-data www-data
# 启动 nginx 服务
/usr/local/nginx/sbin/nginx
# 查看进程
ps -ef | grep nginx
root 37755 1 0 12:16 ? 00:00:00 nginx: master process sbin/nginx
www-data 37756 37755 0 12:16 ? 00:00:00 nginx: worker process
root 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 -al
total 12
drwxr-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.log
192.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 采集数据
猜你喜欢
- 2024-10-14 nginxWebUI 1.2.1 发布,nginx 图形化管理工具
- 2024-10-14 Nginx各个阶段(nginx的几种模式)
- 2024-10-14 centos7-nginx-1.12.2编译安装,不求人!
- 2024-10-14 【开源资讯】nginx 1.18.0 稳定版发布
- 2024-10-14 Nginx 1.14.2 移植指南(openEuler 20.03 LTS SP1)
- 2024-10-02 centos7 源码nginx1.16.1安装(nginx源码安装 linux)
- 2024-10-02 nginx 1.19.6 主线版发布(nginx/1.19.2)
- 2024-10-02 nginx 1.16.1 稳定版和 nginx 1.17.3 主线版发布 修复安全问题
- 2024-10-02 安装nginx1.17.0以及文件目录(nginx安装指定安装路径)
- 2024-10-02 Linux上安装Nginx1.8(linux nginx安装及配置教程)
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)