nginx下载安装和日志切割

简介: 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日志并进行多维度分析。
相关文章
|
16天前
|
负载均衡 Java 应用服务中间件
nginx安装在linux上
nginx安装在linux上
42 2
|
21天前
|
应用服务中间件 nginx
树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问
树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问
|
12天前
|
弹性计算 应用服务中间件 Shell
切割 Nginx 日志文件
【4月更文挑战第28天】
20 0
|
2天前
|
应用服务中间件 nginx Docker
docker安装nginx
`docker search`找镜像,`pull`下载,后台 `-d` 运行容器,命名 `--name`,映射端口 `-p`。本机测试,确保服务器安全组开放端口,公网通过`http://ip:port`访问。用`docker stop id`停止容器。[查看详情](https://blog.csdn.net/javayoungcoolboy/article/details/134976510)
|
2天前
|
应用服务中间件 网络安全 nginx
nginx(1.13.7)首次安装出现:【make: *** 没有规则可以创建“default”需要的目标“build” 问题】解决措施
nginx(1.13.7)首次安装出现:【make: *** 没有规则可以创建“default”需要的目标“build” 问题】解决措施
|
5天前
|
Ubuntu 应用服务中间件 nginx
ubuntu编译安装nginx及安装nginx_upstream_check_module模块
以上是编译安装Nginx和安装 `nginx_upstream_check_module`模块的基本步骤。根据你的需求和环境,你可能需要进一步配置Nginx以满足特定的要求。
18 3
|
11天前
|
弹性计算 应用服务中间件 Shell
一键编译安装Nginx脚本
【4月更文挑战第30天】
18 1
|
11天前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
35 2
|
11天前
|
弹性计算 应用服务中间件 Shell
切割Nginx 日志文件
【4月更文挑战第29天】
20 1
|
15天前
|
负载均衡 前端开发 应用服务中间件
Nginx安装与使用
Nginx安装与使用
38 0