> 文档中心 > CentOS7 搭建部署和配置Nginx

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日志可以每天作为一个日志文件,方便分析和统计,具体效果如下