Nginx服务简述
一、了解Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx支持热部署,启动简单,可以做到7×24小时不间断运行,其特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
我们为什么选择Nginx服务?
① 开源:直接获取源代码;② 高性能: 支持海量并发;③ 可靠: 服务稳定;④ Nginx非常轻量,功能模块少(源代码仅保留http与核心模块代码,其余不够核心代码会作为插件来安装);⑤ 代码模块化 (易读,便于二次开发,对于开发人员非常友好);⑥ Nginx适合当前主流架构趋势,微服务、云架构、中间层等,且技术成熟;⑦ 统一技术栈,降低维护成本,降低技术更新成本;
Nginx采用Epool网络模型,Apache采用Select模型
Select: 当用户发起一次请求,select模型就会进行一次遍历扫描,从而导致性能低下。Epool: 当用户发起请求,epool模型会直接进行处理,效率高效,并无连接限制。处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。
用一个比喻来解释Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之 一,select和epoll的性能谁的性能更高,同样十分明了。
二、Nginx应用场景
三、Nginx服务配置
1️⃣ 配置官网仓库,使用官网仓库下载;
1 | [root@nanxi ~]#vim /etc/yum.repos.d/nginx.repo |
注意检查我们下载nginx时(yum -y install nginx
)的下载源是否为我们设置的官方下载源;
2️⃣ 配置并检查Nginx服务状态;
3️⃣ 浏览器测试Nginx网页;
4️⃣ 自定义Nginx网站配置;
1 | [root@web01 ~]#cd /etc/nginx/conf.d/ |
5️⃣ 根据我们的配置创建文件,完善Nginx网站;
1 | [root@web01 ~]#mkdir /code |
6️⃣ 重启Nginx服务,再次打开浏览器;
🔎 学而不思则罔,留下一个小问题?记得先思考再查看解决方案哦~
方案一:使用多IP部署 |
① 增加多个虚拟IP地址;命令如:ip addr add 192.168.10.66/24 dev eth0
② 把我们配置过的文件,复制两份分别重新命名,修改他们为监听不同的IP地址,然后完善相应配置即可;③ 重启Nginx,测试访问;(这种方式已不再使用,仅供了解,访问效果与下面一致,不再展示)
方案二:使用多端口部署 |
把我们配置过的文件,复制两份分别重新命名,修改他们为不同的端口,然后完善相应配置即可;
使用命令查看配置是否有错,没有则重启Nginx服务即可,测试访问如下;
方案三:使用多域名部署★★★★★ |
把我们配置过的文件,复制两份分别重新命名,分别设为不同的域名,然后完善相应配置即可;记得重载服务配置文件和修改Windows本地Hosts文件!
不要努力成为一个成功者,要努力成为一个有价值的人。
——爱因斯坦