nginx配置
Posted bneglect
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置相关的知识,希望对你有一定的参考价值。
**************************学习nginx***************************
1. nginx配置分为4个区
1)全局区:
work_processes 1; #工作进程 1 一般设为 CPU数*核数(怎么看核数和CPU数?打开任务管理器-》性能-》可以看到内核数4)
2)event区:
work_connections 1024; #一个工作进程允许最大连接数1024
3)http区:
server块(配置虚拟主机):
配置一个虚拟主机,至少要包含:
listen 80;
server_name localhost;#基于域名配置
location /
root /home/wwwroot/default/test; # 当访问localhost域名的时候,映射(跳转)到那个目录下,必须要有这个配置
index index.php index.html index.htm;
现在有个问题:如果没有location,而是直接写成root 根目录;index index.php; 能不能跳转?这个应该也行。公司那个是因为没有解析域名,我认为这种也是
可以的。也可能不行。
4)root 配置根目录也可以使用相对路径,如果使用相对路径 ,那么相对的是nginx目录。以centos为例:相对于/usr/local/nginx。
意思就是和nginx在同一级目录下。
5)基于端口配置虚拟主机,本地配置,直接listen 端口号;但是呢,线上基于端口配置的时候,需要开放端口。或者使用nginx转发。
2. nginx 日志管理:
1)每个server块都可以分别生成一个日志。(如果你从来没有配置过日志,系统是有自带的日志的)
# access_log logs/host.access.log main; # 含义:访问日志存放于 logs/host.access.log ; 使用的格式:main (格式可以自定义)
2)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:请求体body长度
$http_referer:来源信息 $http_user_agent:用户代理/蜘蛛(可能会显示蜘蛛) $http_x_forwarded_for:被转发的请求的原始IP
$http_x_forwarded_for:在经过代理时,代理把你本来的IP加在此头信息中,传输你的原始IP。
至于还有哪些格式的选项,可以上网查一下。
以上是关于nginx配置的主要内容,如果未能解决你的问题,请参考以下文章