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日志并进行多维度分析。
相关文章
|
4天前
|
监控 Ubuntu 安全
如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具
如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具
14 1
|
3天前
|
应用服务中间件 PHP nginx
Mac安装Nginx
Mac安装Nginx
10 2
Mac安装Nginx
|
4天前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
10 4
|
4天前
|
NoSQL Ubuntu Java
如何在 Ubuntu 14.04 上安装 Graylog2 并实现日志集中管理
如何在 Ubuntu 14.04 上安装 Graylog2 并实现日志集中管理
10 1
|
4天前
|
应用服务中间件 Linux nginx
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
这篇文章介绍了在CentOS系统上使用Nginx源码包进行安装和配置的详细步骤,包括源码包的获取、解压、配置、编译、安装、启动验证以及注意事项。
16 0
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
|
7天前
|
应用服务中间件 网络安全 nginx
运维专题.Docker+Nginx服务器的SSL证书安装
运维专题.Docker+Nginx服务器的SSL证书安装
19 3
|
4天前
|
关系型数据库 MySQL 应用服务中间件
在Ubuntu 16.04上使用Nginx安装和保护phpMyAdmin的方法
在Ubuntu 16.04上使用Nginx安装和保护phpMyAdmin的方法
10 0
|
4天前
|
关系型数据库 Linux 应用服务中间件
如何在 Ubuntu 14.04 服务器上使用 Nginx 安装和保护 phpMyAdmin
如何在 Ubuntu 14.04 服务器上使用 Nginx 安装和保护 phpMyAdmin
6 0
|
4天前
|
关系型数据库 应用服务中间件 数据库
如何安装和配置 Django 与 Postgres、Nginx 和 Gunicorn
如何安装和配置 Django 与 Postgres、Nginx 和 Gunicorn
7 0
|
5天前
|
Ubuntu 应用服务中间件 nginx
Ubuntu 安装 Nginx
Ubuntu 安装 Nginx
11 0