linux上nginx安装部署及使用过程详解
1.下载
官网下载地址
2.部署
2.1安装前提
在linux下安装需要安装一下组件
1.gcc&&g++ yuminstallgcc-c++ 2.pcre yuminstall-ypcrepcre-devel 3.zlib yuminstall-yzlibzlib-devel 4.openssl yuminstall-yopensslopenssl-devel
2.2安装
1.解压nginx文件 tar-zxvfnginx-1.17.5.tar.gz 2.安装 ##创建一个nginx安装目录 mkdirnginx cdnginx-1.12.2 ##指定文件安装路径 ./configure--prefix=/home/lege/nginx make makeinstall #安装完成后内容会安装到指定的路径/home/lege/nginx下,否则会在默认目录/usr/local/nginx
2.3 启动nginx
##修改配置文件 cd/home/lege/nginx/conf vimnginx.conf ##设置端口为8080,也可设置成其他 listen8080; ##进入到启动目录 cd/home/lege/nginx/sbin ##检查配置文件是否有问题 ./nginx-t ##没有问题的结果如下所示: [soa@testsoa04sbin]$./nginx-t nginx:theconfigurationfile/home/lege/nginx/conf/nginx.confsyntaxisok nginx:configurationfile/home/lege/nginx/conf/nginx.conftestissuccessful [soa@testsoa04sbin]$ ##查询配置参数 ./nginx-V ##对于已安装的nginx需要修改配置参数 ./configure--prefix=/home/lege/nginx...配置参数 make makeinstall 然后重新启动nginx即可 ##启动 ./nginx ##停止 ./nginx-sstop ##重启 ./nginx-sreload ##输入网址验证是否启动成功 http://ip:port/
3.nginx日志相关配置
日志定义的格式: 语法格式:access_logpath[format[buffer=size][gzip[=level]][flush=time][if=condition]]; access_logoff; 默认值:access_loglogs/access.logcombined; 作用域:http,server,location,ifinlocation,limit_except 1.定义日志格式 语法格式:log_formatname[escape=default|json]string...; 默认值:log_formatcombined"..."; 作用域:http 常见的日志变量 $remote_addr,$http_x_forwarded_for记录客户端IP地址 $remote_user记录客户端用户名称 $request记录请求的URL和HTTP协议(GET,POST,DEL,等) $status记录请求状态 $body_bytes_sent发送给客户端的字节数,不包括响应头的大小;该变量与Apache模块mod_log_config里的“%B”参数兼容。 $bytes_sent发送给客户端的总字节数。 $connection连接的序列号。 $connection_requests当前通过一个连接获得的请求数量。 $msec日志写入时间。单位为秒,精度是毫秒。 $pipe如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”。 $http_referer记录从哪个页面链接访问过来的 $http_user_agent记录客户端浏览器相关信息 $request_length请求的长度(包括请求行,请求头和请求正文)。 $request_time请求处理时间,单位为秒,精度毫秒;从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。 $time_iso8601ISO8601标准格式下的本地时间。 $time_local通用日志格式下的本地时间。 示例: log_formatmain'$remote_addr-$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer""$request_time"' '"$http_user_agent""$http_x_forwarded_for"
对于日志相关的清理可以使用linux的定时任务去处理,示例如下:
clear.sh脚本如下:
#!/bin/bash #LOGS_PATH为日志存放路径 LOGS_PATH=/home/lege/data/nginx/logs YESTERDAY=$(date-d"yesterday"+%Y-%m-%d) KEEPTIME=$(date-d"-3days"+%Y-%m-%d) #切分日志文件 mv${LOGS_PATH}/access.log${LOGS_PATH}/access_${YESTERDAY}.log mv${LOGS_PATH}/error.log${LOGS_PATH}/error_${YESTERDAY}.log #通过Nginx信号量控制重读日志,/web/nginx/为nginx安装目录 kill-USR1$(cat/home/lege/data/nginx/logs/nginx.pid) #删除3天前的日志文件 rm-f${LOGS_PATH}/access_{KEEPTIME}.log rm-f${LOGS_PATH}/error_{KEEPTIME}.log echo0 crontab-e添加如下: 00***/bin/sh/home/lege/data/nginx/logs/clear.sh crontab-l查看是否添加成功
4.nginx使用之充当文件下载器
http{ server_tokensoff; client_header_buffer_size8k; client_max_body_size130m; proxy_buffer_size64k; proxy_buffers864k; log_formataccess'$remote_addr$host$remote_user[$time_local]$status$request_length$body_bytes_sent$request_time000-"-""$request""$http_referer""$http_user_agent"$http_cookie$bytes_sent'; access_loglogs/access.logaccess; keepalive_requests16; keepalive_timeout5; server{ listen8080; server_namelocalhost; charsetutf-8; location/{ default_type'application/octet-stream'; add_headerContent-disposition"attachment"; ##配置可以下载的文件路径,下面是在windows下测试使用的路径,linux也可换成对应的路径 rootD://tools//nginx-1.17.4//conf; } } }
配置完成后重启nginx,然后进入浏览器输入http://ip:8080/conf下的文件名即可下载到对应的文件。ps:不能下载目录只能下载文件。
总结
以上所述是小编给大家介绍的linux上nginx安装部署及使用过程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。