CentOS7 搭建部署和配置Nginx
1、官方下载地址
nginx: downloadhttps://nginx.org/en/download.html
2、安装系统包依赖
$ yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
3、创建Nginx安装目录
$ mkdir /usr/local/nginx$ cd /usr/local/nginx$ mkdir logs conf fastcgi_temp sbin client_body_temp proxy_temp uwsgi_temp scgi_temp
4、进入下载的安装包目录
$ cd /data/soft$ tar -zxvf nginx-1.21.6.tar.gz
初始化配置和编译安装
# 进入Nginx目录$ cd /data/soft/nginx-1.21.6 # 配置Nginx的安装配置$ ./configure --prefix=/usr/local/nginx/ --sbin-path=/usr/local/nginx/sbin/ --with-http_ssl_module --with-http_v2_module --with-stream --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --http-fastcgi-temp-path=/usr/local/nginx/fastcgi_temp --http-client-body-temp-path=/usr/local/nginx/client_body_temp --http-proxy-temp-path=/usr/local/nginx/proxy_temp --http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/scgi_temp # 编译安装$ make;make install
5、启动Nginx并访问测试
$ cd /usr/local/nginx/sbin# 启动Nginx$ ./nginx
浏览器访问,成功可以访问
6、修改nginx.conf配置文件
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { includemime.types; default_type application/octet-stream; log_format main '$remote_addr\t$remote_user\t$time_local\t$request\t$status\t$body_bytes_sent\t$request_time\t$http_referer\t$http_user_agent\t$http_x_forwarded_for\t$cookie_huotuMid\t$upstream_response_time'; access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; gzip_min_length 1k; gzip_buffers 4 24k; gzip_http_version 1.1; gzip_comp_level 3; gzip_types application/atom+xml application/json application/xml text/plain application/x-javascript text/css;}
7、增加通用代理文件
proxy.conf 文件内容
proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header RealIP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 100m;proxy_connect_timeout 3s;proxy_send_timeout 1m;proxy_read_timeout 1m;proxy_temp_file_write_size 1024m;proxy_buffer_size 32k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_ignore_client_abort on;proxy_next_upstream error timeout invalid_header http_503;
8、增加Nginx每天日志脚本
auto-cut-nginx-log.sh 脚本文件
#!/bin/bash# 设定cron定时晚上23:59 执行该脚本# log日志所在目录ACCESS_LOGS_PATH=/usr/local/nginx/logs# 日志更名for logfileName in `find ${ACCESS_LOGS_PATH} -name "*.log"`; do echo "current cut ${logfileName}"; mv ${logfileName} ${logfileName}.$(date +%Y%m%d%H%M); #生成新的日志文件 kill -USR1 $(cat /usr/local/nginx/nginx.pid);done# 生成新的日志文件kill -USR1 $(cat /usr/local/nginx/nginx.pid);
9、添加Linux定时执行任务
# 查看linux定时任务$ crontab -l# 编辑linux定时任务$ crontab -e#cut nginx logs59 23 * * * /data/script/auto-cut-nginx-log.sh
Nginx日志可以每天作为一个日志文件,方便分析和统计,具体效果如下