这个问题也是在运维面试中经常问的一个问题。
这样的问题,我们该怎么回答呢?
一般情况下,类似于这样的问题,一定要回答的全面一点。 这里的全面并不是技术上的全面,而是你对nginx的理解的全面。
比如,你可以这么回答:
我们公司的nginx主要用于作为web来使用,平时如果优化的话,我做过这么几个地方:
1.每个进程允许的最多连接数,可以调整worker_connections
2. nginx 进程最多打开的文件数目,也需要与ulimit -n 保持一致
3. httpd的默认连接超时时间是60S,这里也可以设置一样防止太多无效的http连接占用nginx进程。
当然除了这几个地方之外,我们还可以去调这么几个地方:
- 隐藏响应头的有关操作系统和web server版本号的信号,这样对安全还是比较有用的,主要参数是: server_tokens off
- 指定多长时间检测一次缓存的有效信息,等等。
按说,这个问题你这么回答就可以了,如果你想回答的更多一点也行。
但需要强调的是,nginx做调优的必要性很小。 当服务器资源不够的时候,调优是必须的,但软件的调优效果毕竟有限,能够要求公司增加服务器就增加服务器。
当然这句话,你不能给面试官说,自己知道就行了,毕竟活还得你干。