容器面试题-MIANSHI

树袋大熊 2024-05-13 22:02:39

Nginx使用哪种网络协议?

Nginx是一个WEB服务程序,

应用层用的是HTTP协议,不会是FTP、Telnet这种。

传输层用的是TCP,UDP传输不可靠

Apache和Nginx有什么区别?

答案

Apache支持模块动、静态编译,而Nginx模块只支持静态编译

Nginx对Fastcgi的支持比Apache好

Nginx使用epoll连接方式,异步非阻塞,Apache使用select阻塞方式

Nginx安装体积小,apache安装体积大

Nginx以线程方式处理请求,Apache以进程处理,Nginx对资源要求低

Apache比nginx稳定

Apache模块多

如何查看Nginx使用哪个端口?

答案

用下面命令查出Nginxmaster进程的PID:

$ ps -aux | grep nginx1234 root0:00 nginx: master process nginx -g daemon off;5678 nginx0:00 nginx: worker process

然后根据PID查看Nginx使用的端口:

$ netstat -anp | grep 1234tcp00 127.0.0.11:434890.0.0.0:*LISTEN-tcp00 0.0.0.0:800.0.0.0:*LISTEN1234/nginx: master pro

可以看到PID为1234的Nginx使用本地的80端口

扩展

Linux输出结果很多是没有列头的,我们可以用head打印出来,如上两个命令可以这样:

$ ps -aux | head -1; ps -aux | grep nginx$ netstat -anp | head -2; netstat -anp | grep 1234

Nginx访问日志分析请求时间最大的和请求数最多的前20条

nginx的log_format配置如下:log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$upstream_response_time ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';从今天的nginx log文件access.log中:

a、列出"request_time"最大的20行?

b、列出早上10点访问量做多的20个url地址?

36  26天之前NginxBash

答案

a答案:

cat/usr/local/var/log/nginx/access.log|sort-nrk9|head-2

b答案:

grep"07/May/2018:10:"/usr/local/var/log/nginx/access.log|awk'{print$12}'|sort-rn|uniq-c|head-20

从用户在浏览器中输入网址并回车,到看到完整的页面,中间都经历了哪些过程?

浏览器→ url → dns →ip→ port → TCP → Nginx → server name → php-fpm/fast cgi → php|浏览器← TCP ← Nginx ← php-fpm/fast cgi ←

Nginx负载均衡实现方式有哪些?

答案

轮询

用户ip哈希

指定权重

fair     (第三方)

url_hash     (第三方)

0 阅读:5

树袋大熊

简介:写写自己工作当中的心得,软件测试,编程的笔记。