《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
近几年,Nginx的市场占有率越来越高,一度飙升,为什么呢?接下来我们就知道了!另外,N 系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送:面试,可以在线阅读。
三、我们为什么选择Nginx?
1. IO多路复用epoll(IO复用)
如何理解呢?举个例子吧!
有A、B、C三个老师,他们都遇到一个难题,要帮助一个班级的学生解决课堂作业。
老师A采用从第一排开始一个学生一个学生轮流解答的方式去回答问题,老师A浪费了很多时间,并且有的学生作业还没有完成呢,老师就来了,反反复复效率极慢。
老师B是一个忍者,他发现老师A的方法行不通,于是他使用了影分身术,分身出好几个自己同一时间去帮好几个同学回答问题,最后还没回答完,老师B消耗光了能量累倒了。
老师C比较精明,他告诉学生,谁完成了作业举手,有举手的同学他才去指导问题,他让学生主动发声,分开了“并发”。这个老师C就是Nginx。
2. 轻量级
3. CPU亲和
把CPU核心和Nginx工作进程绑定,把每个worker进程固定在一个CPU上执行,减少切换CPU的cache miss,从而提高性能。
三、安装与目录
本人使用了鸟哥的lnmp集成包,简单方便-推荐!
#执行这句语句,根据指引,将安装 nginx php mysql 可进入lnmp官网查看更详细的过程
#默认安装目录/usr/local
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp
#默认安装目录
/usr/local
四、基本配置
#打开主配置文件,若你是用lnmp环境安装
vim /usr/local/nginx/conf/nginx.conf
user #设置nginx服务的系统使用用户
worker_processes #工作进程数 一般情况与CPU核数保持一致
error_log #nginx的错误日志
pid #nginx启动时的pid
events {
worker_connections #每个进程允许最大连接数
use #nginx使用的内核模型
}
我们使用 nginx 的 http 服务,在配置文件 nginx.conf 中的 http 区域内,配置无数个 server ,每一个 server 对应这一个虚拟主机或者域名
http {
… … #后面再详细介绍 http 配置项目
server {
listen 80 #监听端口;
server_name localhost #地址
location / { #访问首页路径
root /xxx/xxx/index.html #默认目录
index index.html index.htm #默认文件
}
error_page 500 504 /50x.html #当出现以上状态码时从新定义到50x.html
location = /50x.html { #当访问50x.html时
root /xxx/xxx/html #50x.html 页面所在位置
}
}
server {
… …
}
}
一个 server 可以出现多个 location ,我们对不同的访问路径进行不同情况的配置 我们再来看看 http 的配置详情
http {
sendfile on #高效传输文件的模式 一定要开启
keepalive_timeout 65 #客户端服务端请求超时时间
log_format main XXX #定义日志格式 代号为main
access_log /usr/local/access.log main #日志保存地址 格式代码 main
}
四、模块
查看 nginx 已开启和编联进去的模块,模块太多了,就不在这长篇大论,有需要自行百度吧~另外,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 Java/ Nginx 系列面试题和答案,非常齐全。
#大写V查看所有模块,小写v查看版本
nginx -V
查看此配置文件 是否存在语法错误
nginx -tc /usr/local/nginx/conf/nginx.conf
那么如何才能正确的掌握Redis呢?
为了让大家能够在Redis上能够加深,所以这次给大家准备了一些Redis的学习资料,还有一些大厂的面试题,包括以下这些面试题
-
并发编程面试题汇总
-
JVM面试题汇总
-
Netty常被问到的那些面试题汇总
-
Tomcat面试题整理汇总
-
Mysql面试题汇总
-
Spring源码深度解析
-
Mybatis常见面试题汇总
-
Nginx那些面试题汇总
-
Zookeeper面试题汇总
-
RabbitMQ常见面试题汇总
JVM常频面试:
Mysql面试题汇总(一)
Mysql面试题汇总(二)
Redis常见面试题汇总(300+题)
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
18196)]
Mysql面试题汇总(一)
[外链图片转存中…(img-9s3xwQwj-1714642318196)]
Mysql面试题汇总(二)
[外链图片转存中…(img-wUyZs6La-1714642318197)]
Redis常见面试题汇总(300+题)
[外链图片转存中…(img-uUFp0Psa-1714642318197)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!