NGINX学习笔记(十):一篇搞懂NGINX配置

配置文件

# 配置运行NGINX工作节点的用户(组)
# 如果user指令不配置或者配置为 user nobody nobody, 则默认所有用户都可以启动NGINX进程
user nobody nobody;

# NGINX工作节点并发处理能力的关键配置, 通常设置成和CPU的核数相等, 指令格式: worker_processes number|auto;
worker_processes 3;

#全局错误日志及PID文件
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid logs/nginx.pid;

events {
	# epoll是多路复用IO(I/O Multiplexing)中的一种方式, 仅用于linux2.6以上内核, 可以大大提高NGINX的性能
	# 一般采用系统默认
    use   epoll; 
	# 允许每一个WORKER进程可以同时开启的最大连接数。
	# worker_connections 的值需根据 worker_processes 进程数 和 系统可以打开的最大文件总数 进行适当地设置。
	worker_connections  1024;
}

http {

	# 设定日志格式, 引入其他配置(mime.types中指定了浏览器能够识别的MIME类型以及对应类型的文件后缀名)
	include mime.types;
	default_type application/octet-stream;
	
	# 设定日志格式
	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 logs/access.log main;

	# 用于开启/关闭使用sendfile()传输文件,默认off
	# 对于普通应用, 必须设为 on, 如果用来进行下载等应用磁盘IO重负载的应用时, 可设置为 off, 
	# 以平衡磁盘与网络I/O处理速度, 降低系统的uptime
	sendfile  on;
	
	# 表示服务端对连接的保持时间, 默认75秒
	keepalive_timeout  65;
	
	#开启gzip压缩
    gzip  on;
    gzip_disable "MSIE [1-6].";

    #设定请求缓冲
    client_header_buffer_size    128k;
    large_client_header_buffers  4 128k;

	server {
		# 用于网络监听, 一般是两种配置方式:
		# listen IP[:PORT]; 或者 listen PORT;
		listen 8081;
		server_name 192.168.31.111;
		# 设定服务器的默认网站根目录位置
        root mallx/html;
		
		# 设定本虚拟主机的访问日志
		access_log /opt/mallx/server1/log/access.log;
		error_page 404 /404.html;

		location /server1/location1 {
			root /opt/mallx/server1;
			# 设置网站的默认首页, 可以设置多个用空格隔开的文件名, 首先找到哪个页面, 就使用哪个页面响应请求
			index index1.server1.html index2.server1.html;
		}

		location /server1/location2 {
			root /opt/mallx/server1;
			index index1.server1.html index2.server1.html;
		}

        # 设置静态文件
        location ~ ^/(images|javascript|js|css|flash|media|static)/ {
            
            # 过期30天, 静态文件不怎么更新, 过期可以设大一点。如果频繁更新, 则可以设置得小一点。
            expires 30d;
        }
        # 禁止访问所有的.htXXXXX的 文件
        location ~ /.ht {
            deny all;
        }
	}

	server {
		listen 8082;
		server_name 192.168.31.111;
		access_log /opt/mallx/server2/log/access.log;
		error_page 404 /404.html;

		location /server2/location1 {
			root /opt/mallx/server1;
			index index1.server2.html index2.server2.html;
		}
		location /server2/location2 {
			alias /codesheep/webserver/server2/location2/;
			index index1.server2.html index2.server2.html;
		}
		location = /404.html {
			root root /opt/mallx/;
			index 404.html;
		}
	}
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值