参考http://www.howtocn.org/nginx:directiveindexhttp://blog.s135.com/
nginx 配置文档为 nginx.conf 比如我的配置文档 /usr/local/nginx/conf/nginx.conf格式类似于下面,不要忘记在行尾添加分号(;),使用井号(#)来注释。.......;events{.......;}http{.......; server { .......; } server { .......; }.......;}我的 nginx.confuser nginx nginx;
#Nginx 进程运行的用户和组worker_processes 4;
#Nginx 进程数(建议设定为cpu的总核数,比如我的i3 cpu)error_log logs/error.log error;
#定义错误日志,分别为[ debug | info | notice | warn | error | crit ]pid logs/nginx.pid;
#pid文件位置worker_rlimit_nofile 65535;#一个 nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit-n) 与 nginx 进程数相除,但是 nginx 分配请求并不是那么均匀,所以最好与 ulimit -n的值保持一致。# use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];events{use epoll;
#使用epoll事件模型worker_connections 65535;
#每个nginx进程的连接数(最大连接=连接数(65535) x 进程数(4))}http{include mime.types;
#文件扩展名与文件类型映射表default_type application/octet-stream;
#默认文件类型#charset gb2312;
#默认编码server_names_hash_bucket_size 128;
#服务器名字的 hash 表大小client_header_buffer_size 32k;
#上传文件大小限制large_client_header_buffers 4 32k;
#指定客户端一些比较大的请求头使用的缓冲区数量和大小。client_max_body_size 8m;
#指令指定允许客户端连接的最大请求实体大小sendfile on;
#开启高效文件传输模式tcp_nopush on;
#防止网络阻塞tcp_nodelay on;
#防止网络阻塞keepalive_timeout 60;
#客户端与服务器长连接的超时时间,超过这个时间,服务器将关闭连接#fastcgi fastcgi_connect_timeout 300;
#指定连接到后端FastCGI的超时时间。fastcgi_send_timeout 300;
#向FastCGI传送请求的超时时间,这个值是指已经完成两次握手后向FastCGI传送请求的超时时间。fastcgi_read_timeout 300;
#接收FastCGI应答的超时时间,这个值是指已经完成两次握手后接收FastCGI应答的超时时间。fastcgi_buffer_size 64k;
#这里可以设置为fastcgi_buffers指令指定的缓冲区大小。fastcgi_buffers 4 64k;
#指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答fastcgi_busy_buffers_size 128k;
#建议为fastcgi_buffers的两倍fastcgi_temp_file_write_size 128k;
#在写入fastcgi_temp_path时将用多大的数据块,默认值是fastcgi_buffers的两倍,设置上述数值设置太小时若负载上来时可能报 502 Bad Gateway#gzip on;
#打开gzip压缩gzip_min_length 1k;
#最小压缩文件大小gzip_buffers 4 16k;
#压缩缓冲区gzip_http_version 1.0;
#压缩版本gzip_comp_level 2;
#压缩等级gzip_types text/plain application/x-javascript text/css application/xml;
#压缩类型gzip_vary on;
#启用应答头“Vary: Accept-Encoding”#include vhosts/*.conf;
#含一些其他的配置文件来完成你想要的功能,比如我想把每个虚拟主机单独放在一个文件里server #虚拟主机的配置{ listen 80;
#被访问的ip地址及端口号,可以只指定一个ip,一个端口,或者一个可解析的服务器名 server_name localhost;
#服务器的基本名称,默认名称为机器的hostname,多域名用空格隔开 root /data/web;
#请求到达后的文件根目录,使用字段:http, server, location ,location中的if字段 access_log logs/host.access.log;
#为连接日志指定了路径,格式和缓冲区大小,如果没有指定日志格式,默认为“combined” location /
#根据URI的不同需求来进行配置,匹配任何以 / 开始的查询 { index index.html index.htm index.php;
#设置默认主页,以指定多个文件,如果第一个文件没有找到,将会查找后面指定的文件 } #error_page 404 /404.html;
#为错误代码指定相应的错误页面 error_page 500 502 503 504 /50x.html; location = /50x.html
#根据URI的不同需求来进行配置,= 精确的匹配,只匹配 / 的查询 { root html;
#请求到达后的文件根目录,这个和上边的root功能相同,只是根目录文件夹不一样 } location ~* \.php$ {
#根据URI的不同需求来进行配置,~* 不区分大小写匹配任何以php结尾的文件 root /data/web;
#网页文件存放的根目录 fastcgi_pass 127.0.0.1:9000;
#指定FastCGI服务器监听端口与地址 #fastcgi_pass 192.168.56.10:9000; #可以是本机或者其它fastcgi服务器。 fastcgi_index index.php;
#文件名将追加到URI后面,这个值将存储在变量$fastcgi_script_name中 fastcgi_param SCRIPT_FILENAME /data/web$fastcgi_script_name; #指定一些传递到FastCGI服务器的参数,SCRIPT_FILENAME参数决定需要执行哪个脚本 include fastcgi_params;
#含一些其他的配置文件来完成你想要的功能,包括 fastcgi_params文件 }}虚拟主机nginx 可以配置多种类型的虚拟主机,1基于ip地址的虚拟主机,2基于域名的虚拟主机,3基于端口号的虚拟主机。# another virtual host using mix of IP-, name-, and port-based configuration#server { listen 80; #端口号 #listen 192.168.5.87:8080; #Ip地址,这里加了端口号,也可以不加 server_name somename alias another.alias; #域名 location / { root html; index index.html index.htm; }}还可把它配置成 listen 80; 表示监听该服务器上的所有ip的 80端口,通过 server_name 来区分不同的虚拟主机。include vhosts/*.conf; include指令 载入多个虚拟主机配置文档这样很方便,如果直接把多个虚拟主机添加到nginx.conf上则会很乱。每个vhost.conf 都包含一段 server{......},如果需要多个虚拟主机建立多个vhost*.conf 并写入 server{......}即可,比如下面这样。# cat conf/vhosts/test.com.conf server { listen 80; server_name test.com; root /data/web2; access_log logs/test.com.access.log; location / { index index.html index.htm index.php; } ................ #部分省略}
转载于:https://www.cnblogs.com/CHEUNGKAMING/p/4383031.html
相关资源:JAVA上百实例源码以及开源项目