ngix 读取配置 先读取全局配置 然后再读取子配置
全局配置文件位置: /etc/ngix/ngix.conf
子配置文件位置: /etc/ngix/conf.d/default.conf (这是默认的子配置 文件,还可以另外配置)
1.全局配置文件:
#----------------------------------------------------------------------
# 这个配置在Linux操作系统中是必须的,nginx是一个linux下的用户
#是安装Nginx软件时Nginx软件默认创建的,该用户名不得修改否则Nginx将无法启动
#----------------------------------------------------------------------
user nginx;
#----------------------------------------------------------------------
#worker_processes指明了nginx要开启的进程数。
#据官方说法,一般开一个就够了,多开几个,可以减少机器io带来的影响。
#nginx的这个参数在一般情况下开4个或8个就可以了,再往上开的话优化不太大。
#nginx开启太多的进程,会影响主进程调度,所以占用的cpu会增高。
#官方的建议是修改成CPU的内核数
#假设你的电脑是双核的,按理说应该是2,但是实际上应该是4,因为是双线程的
#这时你可以把worker_processes设置为4
#----------------------------------------------------------------------
worker_processes 1;
#----------------------------------------------------------------------
#error_log是Nginx的错误日志
#Nginx把错误分为八种:debug info warn error crit alert emerg notice
#如果你想根据错误的类型分配不同的错误日志,你可以参考下面的写法
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
#----------------------------------------------------------------------
error_log /var/log/nginx/error.log;
#进程管理文件
pid /var/run/nginx.pid;
#-------------------------------------------------------------------------
#events配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
#----------------------------------------------------------------------------
events {
worker_connections 1024;
}
#-------------------------------------------------------------------------
#http配置可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
#-------------------------------------------------------------------------
http {
#Nginx可以识别的所有文件类型
include /etc/nginx/mime.types;
#默认的优先解释的文件类型
default_type application/octet-stream;
#负载均衡的反向代理分发选项
#upstream web{
#server 服务器的地址 weight=1 max_fails=3 fail_timeout=20s;
#server 服务器的地址 weight=1 max_fails=3 fail_timeout=20s;
#}
#访问日志格式,一般不需要修改,包括了用户的ip,浏览器,时区等信息
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; #访问日志格式存放路径
#是否允许文件传输
sendfile on;
#连接nginx的超时时间
keepalive_timeout 65;
#是否启动gzip压缩,on代表启动,off代表开启
gzip on;
#需要压缩的常见静态资源
gzip_types text/html text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
#由于nginx的压缩发生在浏览器端而微软的ie6很坑爹,会导致压缩后图片看不见所以该选项是禁止ie6发生压缩
gzip_disable "MSIE [1-6]\.";
#如果文件大于1k就启动压缩
gzip_min_length 1k;
#以16k为单位,按照原始数据的大小以4倍的方式申请内存空间,一般此项不要修改
gzip_buffers 4 16k;
#压缩的等级,数字选择范围是1-9,数字越小压缩的速度越快,消耗cpu就越大
gzip_comp_level 2;
#引导的在/etc/nginx/conf.d目录下所有后缀为.conf的子配置文件
include /etc/nginx/conf.d/*.conf;
}
2.子配置文件
server {
# web监听端口号
listen 80;
# 主机名 ip地址(如下地址根据实际情况填写)
#server_name 192.168.12.xxx;
charset utf-8;
# ngix 站点所在目录, 比如 apache的站点目录在 /var/www/html
root /usr/share/nginx/html;
#location ~ .*\.(jpg|jpeg|gif|css|png|js|ico|mp3|mp4|swf|flv){
#expires nd;
#}
#网站首页文件入口
location / {
index index.php index.html index.htm;
}
#server{
#location / {
#proxy_pass http://web/;
#}
#}
#ngix支持的php配置,一般不做修改
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;
}
}