nginx下载安装和日志切割

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: nginx下载安装和日志切割

一、nginx安装配置

1.nginx版本

nginx如今分为商业版,开源版,支持linux和windows平台下载使用

开源站点:https://nginx.org/

商业版站点:https://www.nginx.com/

淘宝nginx:http://tengine.taobao.org/

2.nginx安装配置

yum install -y gcc-c++ autoconf automake make
yum install -y zlib zlib-devel openssl openssl-devel pcre pcre-devel wget httpd-tools vim

安装下插件

wget下载nginx源码

wget http://nginx.org/download/nginx-1.17.10.tar.gz

解压

tar -zxvf nginx-1.17.10.tar.gz

安装

cd nginx-1.17.10

如果有定制化需求可以用

./configure --help

来看下安装参数

我们安装

./configure --prefix=/var/nginx_1.17 --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-threads --with-file-aio

make

make install

3.查看安装后的nginx

[root@localhost nginx-1.17.10]# cd /var/nginx_1.17/
[root@localhost nginx_1.17]# 
[root@localhost nginx_1.17]# ls
conf  html  logs  sbin
[root@localhost nginx_1.17]#

  • conf存放nginx的配置文件,如nginx.conf
  • html存放nginx的网页根目录文件,存放站点的静态文件数据
  • logs存放nginx的各种日志目录
  • sbin存放该软件的可执行命令

4.配置PATH变量

我们无法用nginx启动,只能用绝对路径启动

/var/nginx_1.17/sbin/nginx
netstat -tunlp | grep 80

我们可以访问nginx站点了

配置一下PATH变量,让/var/nginx_1.17/sbin/目录加入PATH变量里面

echo 'export PATH="$PATH:/var/nginx_1.17/sbin/"' > /etc/profile.d/nginx.sh

推出当前会话,然后重新登陆,会默认加载/etc/profile.d/下的文件

确实多了这个目录路径

直接执行nginx

这里其实是已经启动过了,但是我们这个PATH是设置成功了

当然我们可以通知nginx然后再重启

nginx -s stop
nginx
netstat -tunlp | grep 80

重启nginx

nginx -s reload

二、日志切割

1.给当前日志文件重命名

[root@localhost nginx_1.17]# cd  /var/nginx_1.17/logs/
[root@localhost logs]# ls
access.log  error.log  nginx.pid

发信号给nginx主进程,给他发送一个重新打开的信号,让nginx生成新的日志文件

nginx -s reopen

这个命令相当于 kill -USR1 nginx.pid

2.等待

注意在以上nginx重命名日志切割链,不要着急立即对文件修改,而是要注意等待几秒钟,因为nginx的工作模式特点,master需要下发指令给worker,刚发送指令的时候只是一个标记,当业务量很大的时候,这个修改操作可能会有点慢,不会立刻生效

3.写bash脚本

vim moniter1

写入

#!/bin/bash 
# 脚本写入crontab,每天0点执行,这是一个nginx的日志切割脚本
$nginx日志存放点
logs_path="/var/nginx_1.17/logs/"
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y-%m-%d").log
kill -USR1 `cat /var/nginx_1.17/logs/nginx.pid`

执行

bash moniter1

4.查看日志结果

[root@localhost ~]# cd  /var/nginx_1.17/logs/
[root@localhost logs]# ls
2023  access.log  access.log_2023-11-07  error.log  nginx.pid
[root@localhost logs]#
tree

5.加入crontab定时任务

mkdir /moniter/ 
mv ~/moniter1 /moniter/ 
crontab -e

写入这个

0 0 * * * /bin/bash /monitor/monitor1

保存退出即可


结语

后面会有多虚拟主机的配置,希望大家继续关注我,如果喜欢就点个关注吧!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
147 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
1月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
93 0
Mac os 安装 nginx 教程(success)
|
1月前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
1月前
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
1月前
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx
|
1月前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
1月前
|
Ubuntu Unix 应用服务中间件
Ubuntu16.04.1 安装Nginx
Ubuntu16.04.1 安装Nginx
|
1月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
286 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
1月前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
54 0
|
1月前
|
网络协议 应用服务中间件 Linux
Linux安装nginx
Linux安装nginx