前几天安装了下nginx 这里记录下
去 nginx.org 官网下载最新稳定版本的nginx
http://nginx.org/download/nginx-1.6.2.tar.gz
configure 检测
./configure --prefix=/url/local/nginx
一路check 然后报错...........
少了个正则表达式的库 没有这个库 没发重写URL
yum install pcre-devel 或者找个 prec源码包 ./configure make && make install 就可以装上库文件了
少了个 zlib 包 提供数据压缩用的函数式库
yum install -y zlib-devel
好了 configure 通过 直接 make && make install
[nginx简介&&启动nginx]
cd /url/local/nginx
....conf 配置文件
....html 网页文件
....logs 日志文件
....sbin 主要进程文件
{启动]
./sbin/nginx 就可以启动了 但是 出问题了
提示 不能绑定80端口 80端口已经被占用 使用 netstat -antp 查看谁占用的 然后 kill 掉就好了 然后就可以启动
[重启关闭]
简单点控制 可以直接用信号控制 不必写一个 配置文件
kill -INT 10768 重启nginx
kill -HUP 10768 不重启 就修改nginx的配置文件
kill -USR1 10768 不重启 自动切换日志 可以把旧的日志改名 备份
kill -USR2 -WINCH 10768 平滑升级nginx
每次 kill 都要用他的进程号 太麻烦 我们可以 用 nginx的pid文件来控制
kill -HUP cat /usr/local/nginx/logs/nginx.pid
也可以用 nginx 命令
./sbin/nginx -c /usr/local/nginx/conf/nginx.conf 启动nginx 指定配置文件
./sbin/nginx -s reload 重启
./sbin/nginx -s stop 关闭
./sbin/nginx -s reopen 重读配置文件
./sbin/nginx -t 测试配置文件是否有错误
[虚拟主机]
全局配置文件
worker_processes 1 有1个工作进程 可以自行修改 设置 CPU数*核数
Event { 配置 nginx 连接的特性
work_connections 1024 一个 work 能产生多少个连接
}
http { 配置 http服务器的主要段
server { 每一个虚拟主机段
}
}
配置文件 在 conf/nginx.conf
[nginx日志]
nginx可以针对不同的server 做不同的log
访问日志放在 logs/host.access.log 使用的是 main格式 你也可以自定义其他格式
access_log logs/host.access.log main;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access main 日志格式
192.168.44.1 - - [02/Nov/2014:23:08:09 +0800] "GET / HTTP/1.1" 200(status) 16(body_bytes_send) "-"(http_referer) "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ZHCN; rv:11.0) like Gecko"
远程IP 远程用户/用户时间 请求方法 (GET/POST) 请求体body长度 referer来源信息 http-user-agent 用户代理/蜘蛛 被转发的请求的原始IP
http_x_forwarded_for 在警告代理时 代理把你本来的IP 加在此头信息中 传输你原始的IP
声明一个独特的log_format 并命名
log_format mylog'$remote_addr - $remote_user'
'$status $body_bytes_sent "$http_referer"'
'$http_user_agent"'
开启 访问日志
server {
access_log /web/log/z.com.access.log main;
}
好了 下一篇日志 讲nginx配置