第二章 1.3节 目录结构与基本运行原理
1.1 Nginx目录结构说明
[root@k8s-master01 ~]# tree /usr/local/nginx/
/usr/local/nginx/
├── client_body_temp
├── conf # 存放一系列配置文件的目录
│ ├── fastcgi.conf # fastcgi程序相关配置文件
│ ├── fastcgi.conf.default # fastcgi程序相关配置文件备份
│ ├── fastcgi_params # fastcgi程序参数文件
│ ├── fastcgi_params.default # fastcgi程序参数文件备份
│ ├── koi-utf # 编码映射文件
│ ├── koi-win # 编码映射文件
│ ├── mime.types # 媒体类型控制文件
│ ├── mime.types.default # 媒体类型控制文件备份
│ ├── nginx.conf # 主配置文件
│ ├── nginx.conf.default # 主配置文件备份
│ ├── scgi_params # scgi程序相关配置文件
│ ├── scgi_params.default # scgi程序相关配置文件备份
│ ├── uwsgi_params # uwsgi程序相关配置文件
│ ├── uwsgi_params.default # uwsgi程序相关配置文件备份
│ └── win-utf # 编码映射文件
├── fastcgi_temp # 存放fastcgi程序临时文件
├── html # 存放网页文档
│ ├── 50x.html # 错误页码显示网页文件
│ └── index.html # 网页的首页文件
├── logs # 存放nginx的日志文件
│ ├── access.log # 默认访问日志
│ ├── error.log # 错误日志
│ └── nginx.pid # nginx pid文件
├── proxy_temp # 代理相关临时文件
├── sbin # 存放启动程序
│ └── nginx # nginx启动程序
├── scgi_temp # 存放scgi程序临时文件
└── uwsgi_temp # 存放uwsgi程序临时文件
1.2 主配置文件说明
#user nobody; # 定义执行nginx程序的用户 worker_processes 1; # 指定nginx进程数,一个cpu建议只开一个worker,一个cpu开多个worker会影响效率。 # 错误日志定义类型有:debug、info、notice、warn、error、crit #error_log logs/error.log; # 指定错误日志目录 #error_log logs/error.log notice; # 指定notice类型的错误日志目录 #error_log logs/error.log info; # 指定全局错误日志目录 #worker_rlimit_nofile 1024; # 指定但进程最多打开文件数量 #pid logs/nginx.pid; # 指定进程文件的目录 events { # 事件区块 # 事件模型有:kqueue、rtsig、epoll、/dev/poll、select、poll use epoll; # 指定参考事件模型 worker_connections 1024; # 指定单进程最大链接数 } http { #http区块 include mime.types; # 指定nginx支持的媒体类型 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; # 指定nginx的访问日志目录 sendfile on; # 开启高效的传输模式 #tcp_nopush on; # 防止网络阻塞 #keepalive_timeout 0; # 链接超时事件 keepalive_timeout 65; #gzip on; # 开启gzip压缩输出 #gzip_min_length 1k; # 最小压缩文件大小 #gzip_buffers 4 16k; # 压缩缓冲区 #gzip_http_version 1.0; # 压缩版本(默认1.1,前端如果是squid2.5请使用1.0) #gzip_comp_level 2; # 压缩等级 #gzip_types text/x-javascript text/css application/xml; # 压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。 #gzip_vary on; # 增加响应头”Vary: Accept-Encoding” #limit_zone crawler $binary_remote_addr 10m; # 开启限制IP连接数的时候需要使用 # FastCGI程序相关参数 # 配置FastCGI程序相关参数是为了改善网站的性能:减少资源占用,提高访问速度。 #fastcgi_connect_timeout 300; # 连接到后端fastcgi超时时间 #fastcgi_send_timeout 300; # 向fastcgi请求超时时间(这个指定值已经完成两次握手后向fastcgi传送请求的超时时间) #fastcgi_read_timeout 300; # 接收fastcgi应答超时时间,同理也是2次握手后 #fastcgi_buffer_size 64k; # 读取fastcgi应答第一部分需要多大缓冲区,该值表示使用1个64kb的缓冲区读取应答第一部分(应答头),可以设置为fastcgi_buffers选项缓冲区大小 #fastcgi_buffers 4 64k; # 指定本地需要多少和多大的缓冲区来缓冲fastcgi应答请求,假设一个php或java脚本所产生页面大小为256kb,那么会为其分配4个64kb的缓冲来缓存;若页面大于256kb,那么大于的256kb的部分会缓存到fastcgi_temp指定路径中,这并非是个好办法,内存数据处理快于硬盘,一般该值应该为站点中php/java脚本所产生页面大小中间值,如果站点大部分脚本所产生的页面大小为256kb,那么可把值设置为16 16k,4 64k等 #fastcgi_busy_buffers_size 128k; # 默认值是fastcgi_buffer的2倍 #fastcgi_temp_file_write_size 128k; # 写入缓存文件使用多大的数据块,默认值是fastcgi_buffer的2倍 #fastcgi_cache TEST; # 开启fastcgi缓存并为其指定为TEST名称,降低cpu负载,防止502错误发生. # 应答代码缓存时间,200和302应答缓存为1个小时,301一天,其他1分钟 #fastcgi_cache_valid 200 302 1h; #fastcgi_cache_valid 301 1d; #fastcgi_cache_valid any 1m; # 主机配置 server { # server区块,每一个区块表示一个虚拟主机 listen 80; # 侦听端口 server_name localhost; # 配置此主机的域名 #charset koi8-r; # 配置字符编码 #access_log logs/host.access.log main; # 配置默认访问日志目录 location / { # location区块 通过指定模式来与客户端请求的URI相匹配 root html; # 配置站点根目录 index index.html index.htm; # 默认文件 } #error_page 404 /404.html; # 当发生404错误的时候能够显示一个预定义的uri # redirect server error pages to the static page /50x.html # 将服务器错误页重定向到静态页/50x.html # error_page 500 502 503 504 /50x.html; # 当发生其中错误的时候能够显示一个预定义的uri # 反向代理 #location / { #proxy_pass http://127.0.0.1:88; # 指定代理地址 #proxy_redirect off; # 当上游服务器返回的响应是重定向或刷新请求(如HTTP响应码是301或者302)时,proxy_redirect可以重设HTTP头部的location或refresh字段。可选参数default、off、redirect replacement] # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_set_header Host $host; # 允许重新定义或者添加发往后端服务器的请求头 #client_max_body_size 10m; # 允许客户端请求的最大单文件字节数 #client_body_buffer_size 128k; # 缓冲区代理缓冲用户端请求的最大字节数 #proxy_connect_timeout 90; # nginx跟后端服务器连接超时时间(代理连接超时) #proxy_send_timeout 90; # 后端服务器数据回传时间(代理发送超时) #proxy_read_timeout 90; # 连接成功后,后端服务器响应时间(代理接收超时) #proxy_buffer_size 4k; # 设置代理服务器(nginx)保存用户头信息的缓冲区大小 #proxy_buffers 4 32k; # proxy_buffers缓冲区,网页平均在32k以下的设置 #proxy_busy_buffers_size 64k; # 高负荷下缓冲大小(proxy_buffers*2) #proxy_temp_file_write_size 64k; # 设定缓存文件夹大小,大于这个值,将从upstream服务器传 106 #} # 设置js和css缓存时间 #location ~ .*\.(js|css)?$ #{ #expires 2h; # } # 设置图片缓存事件 #location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #{ #expires 5d; # } # 监控Nginx状态的地址 #location /NginxStatus { #stub_status on; # 开启监控状态 #access_log on; # 开启默认访问监控 #auth_basic "NginxStatus"; # 设置验证模块 #auth_basic_user_file conf/htpasswd; # htpasswd文件的内容可以用apache提供的htpasswd工具来产生。 #} # 动静分离配置 # 所有jsp的页面均交由tomcat处理 #location ~ .(jsp|jspx|do)?$ { #proxy_set_header Host $host; #proxy_set_header X-Real-IP $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_pass http://127.0.0.1:8080; # } # 所有静态文件由nginx直接读取不经过tomcat #location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$# #{ #expires 10d; #} #location ~ .*.(js|css)?${ #expires 2h; #} }
1.3 设置自定义页面
1、切换到nginx的安装目录下(此目录为编译的时候定义的目录):
cd /usr/local/nginx/html/
2、编辑index.html文件,此文件是nginx的网页文件:
vim index.html
自定义内容如下:
Hello World Wang Hao!!!
保存退出!
3、重新加载配置文件,重启nginx服务:
systemctl daemon-reload
systemctl restart nginx
4、访问nginx页面,本机IP+端口号80:
如果访问不到,就把浏览器缓存清掉!