java后端准备面试之nginx(二)

138 阅读2分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路。

书接上文,面试者fish遇到面试官的无情拷问,还能回答下去吗?

面试官:好,你说这么多,我现在就想知道你是怎么写nginx的配置文件的,用的哪种分配策略?

fish:nginx的配置文件是nginx.conf,配置文件里面分为全局块,events块,http块,server块,location块几个配置区间。

全局块是配置nginx的全局指令,一般是配置用户组,日志路径,配置文件引入,允许生成的worker process数等等。

events块是配置nginx服务器和客户端的网络连接,比如是否接受多个网络连接等等。

http块里面嵌套了多个server快,可以配置代理,缓存,日志定义等绝大多数功能和第三方木块的配置

server块里面是配置主机相关的参数,比如各个主机的IP地址,server_name.

location块则是配置请求的路由,以及各种页面的处理情况。

我们项目采用的负载均衡策略是加权随机的方式,具体是在配置文件的http快里面设置 upstream 里面设置各个服务器的ip地址以及权重值。

面试官:好的,一般nginx都是用来作为静态服务器,是怎么操作的?怎么样可以降低网络输出资源的占用呢?

fish:我们使用nginx来做为静态资源web服务器,我们先将静态资源上传到服务器上,然后在配置文件中进行配置。通过location,配置静态资源的路径和默认打开的页面。一般我们是才用打开nginx的Gzip压缩功能,传输压缩文件的方式来降低对网络资源的占用。

面试官:那既然传了压缩文件上去,你是怎么在服务器上解压呢,常见的nginx的命令有哪些呢?

fish:在linux中我们使用unzip 来解压文件,常见的nginx命令有,启动服务 nginx, 停止服务 nginx -s stop ,重载配置service nginx reload,查看版本 nginx -v ,产看帮助信息nginx -h ,查看配置文件 nginx -t。

面试官:好的,回去等通知把,我下班了。