Nginx
安装nginx环境是在linux下面(centos7.6)
cat /etc/redhat-release
知识兔安装依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel
知识兔安装nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar zxf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
make && make install
知识兔启动ngin
# 启动 nginx 服务
/usr/local/nginx/sbin/nginx
注:启动时一定要确保80端口没有被占用
netstat -tunpl
/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx
# 设置开机启动
vi /etc/rc.local
# 添加如下命令
/usr/local/nginx/sbin/nginx
知识兔安装php-fpm和启动
# 搜索
yum search fpm|grep ^php
# 安装
yum install -y php71w-fpm.x86_64
# 启动
/usr/sbin/php-fpm
默认端口号为 9000
知识兔配置nginx支持php
# http节点
# 指定连接到后端Fastcgi的超时时间(单位:秒)
fastcgi_connect_timeout 300;
# 向Fastcgi传送请求的超时时间,这个值是指已经完成两次握手后向Fastcgi传送请求的超时时间(单位:秒)
fastcgi_send_timeout 300;
# 指定接收Fastcgi应答的超时时间,这个值是指已经完成两次握手后接收Fastcgi应答超时时间(单位:秒)
fastcgi_read_timeout 300;
# server节点
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
# 非必须 默认索引页
#fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
知识兔开启gzip
## http 节点中设置
# 开启gzip
gzip on;
# 设置将被gzip压缩的响应的最小长度
gzip_min_length 200;
# 压缩级别 1-9
gzip_comp_level 6;
# 压缩在缓冲区块数和每块大小
gzip_buffers 32 4k; # | 16 8k;
# 设置压缩响应所需的最低HTTP请求版本
gzip_http_version 1.0;
gzip_types text/plain text/css text/xml application/xml application/json application/javascript;
知识兔检查是否出错
/usr/local/nginx/sbin/nginx
知识兔浏览器缓存
## 设置在 server 中的 location 节点
# expires 1s 秒
# expires 2m 分
# expires 3h 时
# expires 6d 天
# ~* 不区分大小写
location ~* \.(jpg|jpeg|gif|bmp|png|ico|svg|mp4|mp3){
expires 7d; # 缓存1天
}
location ~* \.(css|js){
expires 1d; # 缓存1天
}
知识兔
日志管理
vi /usr/local/nginx/conf/nginx.conf
知识兔通过配置虚拟主机可以指定日志目录和文件名称
access_log logs/access.log main; # 日志
知识兔http中
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
server中
access_log logs/success.log main;
日志分割
nginx运行时会产生大量的日志,为了方便查询日志,所以有是时候需要将日志文件进行分割。
新建shell脚本
mkdir /sh
新建shell文件
vi nginx log.sh
#!/bin/bash
#日志家目录
log_home="/usr/local/nginx/logs"
#备份日志目录
log_path=${log_home}/$(date +"%Y")/$(date +"%m")
#创建目录
mkdir -p $log_path
#重命名
mv $log_home/access.log $log_path/access_$(date -d yesterday +"%Y%m%d").log
#重载生成新的目志
/usr/local/ngin/sbin/nginx -s reload
给shell脚本添加可执行权限
chmod +x nginx_log.sh
把此脚本添加到计划任务
crontab -e
写入
0 0 * * * /sh/nginx_log.sh