nginx(2)、nginx常用配置

#user  nobody;
error_log  logs/error.log  info; 
pid        logs/nginx.pid;
1、user  nobody:
定义Nginx运行的用户和用户组

2、error_log  logs/error.log  info:
全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] 

3、pid        logs/nginx.pid; :
进程pid文件
 
worker_processes  auto;
worker_rlimit_nofile 65535;
1、worker_processes:
nginx进程数,建议设置为当前主机的CPU总核心数,或者设置自动配置 auto


2、worker_rlimit_nofile 65535:
一个nginx进程打开的最多文件描述符数目
理论值应该是系统最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535
 
# 工作模式与连接数上限
events{
   use epoll;
   worker_connections 65535;
1、  use epoll :
参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。

2、worker_connections 65535
单个进程最大连接数。
最大连接数=连接数*进程数,如果是代理后端服务器,还要再除以2。
}
#http服务器
http {
    include       mime.types;                           
    default_type  application/octet-stream; 
 1、include       mime.types:
文件扩展名与文件类型映射表

2、default_type  application/octet-stream;
默认文件类型
 
    #access_log  logs/access.log  main; 
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
 
1、access_log  logs/access.log  main
设置nginx是否将存储访问日志。关闭这个选项可以让读取磁盘IO操作更快


2、日志格式设定
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
 
    sendfile        on; 
    #tcp_nopush     on;
    keepalive_timeout  65;
1、sendfile        on;  
开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    
2、tcp_nopush     on;
防止网络阻塞

3、keepalive_timeout  65;
连接超时时间,单位秒
 
   #gzip on; 
 #gzip模块设置
1、gzip on; #开启gzip压缩输出
2、gzip_min_length 1k; #最小压缩文件大小
3、gzip_buffers 4 16k; #压缩缓冲区
4、gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
5、gzip_comp_level 2; #压缩等级
6、gzip_types text/plain application/x-javascript text/css application/xml;
   #压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
7、gzip_vary on;
 
    #定义虚拟机
    server {
        listen       80;
        server_name  localhost;
        charset utf-8;
1、listen       80;#监听端口
2、server_name  localhost;#定义域名
3、charset utf-8;#字符集
 
       #资源定位
        location / {
            #定位的根目录
            root   html;
            index  index.html;
        }
        
        #定义一些404,5xx页面
        #error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        #图片缓存时间设置
        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)${
                 expires 10d;
        }
        #JS和CSS缓存时间设置
        location ~ .*.(js|css)?${
           expires 1h;
       }
    }
}
 
参考资料:
http://www.cnblogs.com/nixi8/p/4871057.html
http://www.chinaz.com/web/2015/0424/401323_2.shtml
http://www.nginx.cn/76.html
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html
 
 
 
以下是重新表述后的内容: 单周期 MIPS CPU 的微程序地址转移逻辑设计:在单周期 MIPS CPU 架构中,微程序地址转移逻辑是关键部分。它负责根据当前微指令的执行情况以及 CPU 内部的各种状态信号,准确地计算出下一条微指令的地址。这一逻辑需要综合考虑指令类型、操作完成情况、是否发生异常等多种因素,以确保微程序能够按照正确的顺序和逻辑进行执行,从而实现 MIPS 指令的准确译码与控制。 MIPS 微程序 CPU 的设计:设计一款基于微程序控制的 MIPS CPU,其核心在于构建微程序控制器。该控制器通过存储微指令序列来实现对 CPU 各部件的控制。微指令中包含对数据通路操作的控制信号以及微程序地址转移信息。在设计过程中,需要精心设计微指令格式,使其能够高效地表示各种操作控制信息,同时合理安排微指令存储器的组织结构,确保微指令的快速读取与准确执行,从而实现 MIPS 指令集的完整功能。 MIPS 硬布线控制器的状态机设计:在采用硬布线控制方式的 MIPS CPU 中,状态机是控制器的核心组成部分。状态机根据输入的指令操作码、状态信号等信息,在不同的状态之间进行转换。每个状态对应着 CPU 在执行一条指令过程中的一个特定阶段,如取指、译码、执行、访存等。状态机的设计需要精确地定义各个状态的转换条件以及在每个状态下输出的控制信号,以确保 CPU 能够按照正确的时序和逻辑完成指令的执行过程。 多周期 MIPS 硬布线控制器 CPU 设计(排序程序):设计一款多周期 MIPS 硬布线控制器 CPU,用于运行排序程序。在这种设计中,CPU 的每个指令执行周期被划分为多个子周期,每个子周期完成指令执行过程中的一个特定操作。硬布线控制器根据指令操作码和当前周期状态,生成相应的控制信号来协调 CPU 数据通路的操作。针对排序程序的特点,需要优化控制器的设计,合理安排指令执行的周期划分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值