Nginx源码编译安装及配置文件解读
来源:互联网 发布:大学生程序员如何赚钱 编辑:程序博客网 时间:2024/05/21 14:32
编译安装 Nginx1.8
tar zxf nginx-1.8.0.tar.gzcd nginx-1.8.0/vim auto/cc/gcc 注释debug 可以减小安装后的大小vim src/core/nginx.h 隐藏nginx版本信息 #解决软件包依赖性yum install -y pcre-devleyum install -y openssl-devel./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre #编译--with-http_ssl_module 开启HTTP SSL模块 支持https请求makemake install
Nginx 配置文件
vim /usr/local/lnmp/nginx/conf/nginx.confuser nobody nobody; #使用访问人员worker_processes 2; #cpu numbererror_log /usr/local/nginx/logs/nginx_error.log crit; #nginx 的日志模式为critpid /usr/local/nginx/logs/nginx.pid; #pid 在那个dirworker_rlimit_nofile 51200; #打开文件数events{ use epoll; #连接模式是epoll worker_connections 6000; #单进程链接数6000}http{ include mime.types; #文件扩展名与文件类型映射表 default_type application/octet-stream; #默认文件类型 server_names_hash_bucket_size 3526; #服务器民资的hash表大小 server_names_hash_max_size 4096; # 上传文件大小限制 log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' '$host "$request_uri" $status' '"$http_referer" "$http_user_agent"'; #日志参数 sendfile on; 开启高效文件传输模式,sendfile指令制定nginx是否调用sednfile函数来输出文件,对于普通应用设为on,如果用来进行下载等应用磁盘io重负载应用,可设为off,以平衡磁盘与网络i/o处理速度,降低系统的负载。注意:如果图片显示不正常吧这个改为off; tcp_nopush on; #防止网络阻塞 tcp_nodelay on; #防止网络阻塞 keepalive_timeout 30; #长连接超时时间 单位秒 第一个参数指定了与client德keep-alive连接超时时间。服务区将>会在这个时间后关闭连接。可选第二个参数指定在响应头 keep-ative:timeout=time中德time值。这个头能够让一些浏览器主动关闭连接。只羊服务器就不必去关闭连接了。 client_header_timeout 3m; # 指定等到client发送一个请求头的超时时间,仅当再一次read中,没有收到请求头才算超时。如果超时时间内,client没有发送任何东西,nginx返回状态吗408 client_body_timeout 3m; #该指令设置请求体的读超时时间,仅当再一次readstep中,没有得到请求体,就会超时 send_timeout 3m; #http核心模块指令,指令指定了发送给客户端应答后的超时时间,timeout是指没有进入完整的established状态。只完成了两次握手,如果超过这个时间客户端没有相应则关闭nginx连接 connection_pool_size 256; #为每个连接分配的内存池,内存吃小玉额定内存块,如果一个块大于内存池或者大于分页大小。那么他将被分配到内存池之外。如果位于内存池中较小的分配量没有足够的内存。那么将分配一个相同内存池大小的新块。 client_header_buffer_size 1k; #指定客户端请求头部的缓冲区大小 large_client_header_buffers 8 4k; #设置用于读取客户及请求头文件的最大数量和大小,一个请求线不能超过一个缓冲区的大小或414(请求uri太大)错误返回客户端。请求头字段不能超过一个缓冲区大小。范围客户端的400错误。缓冲去进分配需求。默认情况下,缓冲区的大小为8k字节。如果一个链接请求处理结束后转变为保持状态。这些缓冲区被释放。 request_pool_size 4k; #为每个请求分配的内存池,内存池用于小配额内存块,如果一个块大于内存池或者大于分页大小,那么它将被分配到内存池之外,如果位于内存池中较小的分配量没有足够的内存,那么将分配一个相同内存池大小的新块,这个指令仅有相当有限的效果 output_buffers 4 32k; postpone_output 1460; client_max_body_size 10m; #指令指定允许客户端连接的最大请求实体大小,它出现在请求头部的Content-Length字段。如果请求大于指定的值,客户端将收到一个”Request Entity Too Large” (413)错误。记住,浏览器并不知道怎样显示这个错误 client_body_buffer_size 256k; #这个指令可以指定连接请求实体的缓冲区大小。#如果连接请求超过缓存区指定的值,那么这些请求实体的整体或部分将尝试写入一个临时文件。#默认值为两个内存分页大小值,根据平台的不同,可能是8k或16k。#当请求头中的Content-Length字段小于指定的buffer size,那么Nginx将使用较小的一个,所以nginx并不总是为每一个请求分配这个buffer size大小的buffer。 client_body_temp_path /usr/local/nginx/client_body_temp; #指令指定连接请求实体试图写入的临时文件路径。 proxy_temp_path /usr/local/nginx/proxy_temp; #配置proxy_cache模块定义了从代理服务器接受到的数据存储临时文件的目录。到三级子目录层次结构可以用在下面的指定目录 fastcgi_temp_path /usr/local/nginx/fastcgi_temp; #定义了同上只不过是fastcgi fastcgi_intercept_errors on; #定义是否传递4xx和5xx错误信息到客户端,或者允许ninx使用error_page处理错误 tcp_nodelay on; ##一下是压缩设置 gzip on; gzip_min_length 1k; gzip_buffers 4 8k; gzip_comp_level 5; gzip_http_version 1.1; gzip_types text/plain application/x-javascript text/css text/htm application/xml; include vhosts/*.conf; }
虚拟主机配置文件在conf/vhosts下
默认虚拟主机
server{ listen 80 default_server; server_name localhost; index index.html index.htm index.php; root /tmp/123; deny all;}
其他虚拟主机
server{ listen 80; server_name tyzz.com; index index.html index.htm index.php; root /data/www; location ~ \.php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name; }}
启动Nginx
[root@VM_168_83_centos vhosts]# /usr/local/nginx/sbin/nginx -t #检查语法[root@VM_168_83_centos vhosts]# /usr/local/nginx/sbin/nginx #启动[root@VM_168_83_centos vhosts]# /usr/local/nginx/sbin/nginx -s reload 平滑重启
0 0
- Nginx源码编译安装及配置文件解读
- 编译安装Nginx及配置文件的组成(一)
- Nginx源码编译安装
- 源码编译安装Nginx
- 源码编译安装nginx
- 源码编译安装nginx
- Nginx源码编译安装
- Nginx安装及配置文件nginx.conf详解
- Nginx安装及配置文件nginx.conf详解
- Nginx安装及配置文件nginx.conf详解
- Nginx安装及配置文件nginx.conf详解
- Nginx安装及配置文件nginx.conf详解
- Nginx安装及配置文件nginx.conf详解
- Nginx安装及配置文件nginx.conf详解
- CentOS源码编译安装Nginx
- Nginx的配置文件解读
- Nginx基础介绍及源码编译nginx
- nginx配置文件nginx.conf解读
- 禅道-从windows7迁移至ubuntu14.04之三
- Oracle中ROWNUM伪列和ROWID伪列的用法与区别
- opencv(11)---ROI与mask图像
- Problem A: 时间和日期类(I)
- HibernateSQL查询 addScalar()或addEntity()
- Nginx源码编译安装及配置文件解读
- 将某一个文件一分为二,分别保存在两个临时文件中
- TensorFlow实战——DNN——MNIST数字识别
- ubuntu有线无法上网
- Python:函数2——变量的作用域 、 返回值
- 一个自由定制可展开的的Material Design风格FloatingActionButton
- 剑指offer(java代码)——用两个栈实现队列
- Git学习记录
- C语言编写班级花名册(链表版)