步奏一: 先下载linux下nginx的安装包
步奏二:解压
步奏三:进入nginx目录下,编译nginx文件
布奏四:编译
./configure --prefix=/usr/local/nginx
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
构建完后生成了makefile文件
步骤五:进行make还有安装
当前目录下执行make。
当前目录下执行make install。
步奏六: 如下路径下找到nginx的可执行文件
如上图所示,启动nginx,然后关闭防火墙。
步奏八:验证nginx服务器是否启动
如图所示linux环境下nginx服务器,安装成功。
cd /usr/local/nginx, 看到如下4个目录
./
....conf配置文件
... html网页文件
...logs 日志文件
...sbin 主要二进制程序
步奏十:停止与重启服务器
信号量控制
|
TERM, INT |
Quick shutdown |
|
QUIT |
Graceful shutdown 优雅的关闭进程,即等请求结束后再关闭 |
|
HUP |
Configuration reload ,Start the new worker processes with a new configuration Gracefully shutdown the old worker processes 改变配置文件,平滑的重读配置文件 |
|
USR1 |
Reopen the log files重读日志,在日志按月/日分割时有用 |
|
USR2 |
Upgrade Executable on the fly平滑的升级 |
|
WINCH |
Gracefully shutdown the worker processes优雅关闭旧的进程(配合USR2来进行升级) |
具体语法:
Kill -信号选项 nginx的主进程号
Kill -HUP 4873 //平滑的加载配置文件
Kill -信号控制 `cat/xxx/path/log/nginx.pid`
Kill -USR1 `cat /xxx/path/log/nginx.pid` //重读日志
nginx.conf 默认日志
下有一个日志配置的地方
#access_log logs/host.access.log main;
使用的格式”main”格式.
除了main格式,你可以自定义其他格式.
main格式是什么?
log_format main '$remote_addr - $remote_user [$time_local]"$request" '
# '$status $body_bytes_sent"$http_referer" '
# '"$http_user_agent""$http_x_forwarded_for"';
如上图所示
$remote_addr 访问的ip
$remote_user 请求的用户
$time_local 访问的时间
$request 请求方式
$status 响应码
$body_bytes_sent"$http_referer" 请求源
http_x_forwarded_for:在经过代理时,代理把你的本来IP加在此头信息中,传输你的原始IP
nginx.conf 自定义日志 可以把上面的日志重组重排
server段中这样来声明自定义日志
log_format mylog '$remote_addr- "$request" '
'$status$body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
在下面的server/location,我们就可以引用 mylog
access_loglogs/access_8080.log mylog;
日志备份与重写:shell脚本
#!/bin/bash
log_base="/usr/local/nginx/logs"
log_path=${log_base}/$(date-d yesterday +"%Y")/$(date -d yesterday +"%m")
mkdir-p $log_path
mv $log_base/access.log$log_path/access_$(date-d yesterday +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
重新创建日志并重写
*/1 * * * * /data/sh runlog.sh 定时执行日志切割脚本 这样就实现了动态日志文件的管理