一.web服务器介绍
Web服务器一般指网站服务器,是指驻留于因特网上提供某种特定类型计算机的程序,Web服务器可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览,可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、Nginx、IIS。
二.Nginx Web服务介绍
●模块化设计: 良好的扩展性,可以通过模块方式进行功能扩展。
**●高可靠性:**主控进程和worker是同步实现的,一-个worker出现问题,会立刻启动另一个worker。
**内存消耗低:**一万个长连接(keep-alive) , 仅消耗2.5MB内存。
**●支持热部署:**不用停止服务器,实现更新配置文件,更换日志文件、更新服务器程序版本。
**●并发能力强:**官方数据每秒支持5万并发。
**功能丰富:**优秀的反向代理功能和灵活的负载均衡策略。
2.1 Nginx性能
Nginx并发能力强,官方测试支持5万并发连接,在实际生 产环境中能到2^ 3万并发连接数。10000个非活跃的HTTP keep- alive连接仅占用约2.5MB内存。3万并发连接下,10个Ng inx进程,消耗内存150MB。
2.2Nginx架构
1) Nginx的基本架构
**●Master作用:**启动worker,加载配置文件,负责系统的平滑升级。
**●Worker作用:**负责一些Web最简单的工作,其它工作由worker中调用的模块来实现。
2) Ng inx支持的Sendfile机制
nginx引入了sendfi le机制,使得内核在接受到数据,不再依靠用户 进程给予封装,而是自己查找自己封装,减少了很长- -段时间的浪费,这是一个提升性能的核心点。
2.3Nginx部署
1.环境准备
准备1台服务器或实验用虚拟机
2.软件准备
操作系统: CentOS 6. 5 Server 系统;
软件: nginx-1. 10.1. tar. gz。
3. Yum源的安装与介绍
4.编译安装Nginx
Nginx选择Nginx 1. 10. 1,在安装Nginx之前,确保系统已经安装了GCC、
OpenSSL -devel、OpenSSL、 PCRE- -deve |和z I ib-devel依赖包,可以通过Yum直接安装。
(1)安装依赖包
(2)安装与配置Nginx
5.启动并检查Nginx安装结果
(1) 先检查配置文件
(2)启动Nginx服 务
(3) Nginx检测或启动报错问题
6.部署一个Web站点
Nginx的默认站点目录位于其安装目录下的html目录,该目录可以在Nginx的 配置文件nginx. conf中查询到。
三 . 实验:安装并设置Nginx(重点)
根据以上学习的知识进行实验配置部署
1.安装依赖软件
(1)安装gcc
gcc是linux下的编译器,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C和Java等语言。
查看gcc版本
gcc -v
一般阿里云的centOS7里面是都有的,没有安装的话会提示命令找不到。
安装命令:
yum install -y gcc gcc-c++
1.pcre、pcre-devel安装
pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
yum install -y pcre pcre-devel
2.zlib安装
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装。
安装命令:
yum install -y zlib zlib-devel
3.安装openssl
openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。
yum install -y openssl openssl-devel
2.安装新的nginx
(1)上传nginx-1.14.0.tar.gz到/home/soft中
(2)解压nginx-1.14.0.tar.gz
cd /home/soft
tar -xvzf nginx-1.14.0.tar.gz
(3)执行配置的命令,设置nginx安装位置
cd nginx-1.14.0
./configure --prefix=/opt/nginx
(4)编译安装
make && make install
(5)启动测试
cd /opt/nginx/sbin
./nginx
(6)验证
浏览器输入 ip 正常打开欢迎页,完装完成
(7)常用命令
查看nginx是否已启动:systemctl status nginx.service
查看进程列表并过滤:ps -ef | grep nginx
直接查看进程id:ps -C nginx -o pid
使用netstat命令:netstat -anp | grep :80
3.配置反向代理
(1)上传nginx.conf到/opt/nginx/conf/中,并覆盖。
#查看一下IP是否正确
cat /opt/nginx/conf/nginx.conf
(2)重启
cd /opt/nginx/sbin
./nginx -s reload
(3)验证,再次输入ip,能看到tomcat的IP了,刷新几次,能看到IP是在变动的
4.nginx配置服务和开机自启
(1)上传nginx到/etc/init.d中
(2)把/etc/init.d/nginx变为可执行文件
chmod 775 /etc/init.d/nginx
(3)把/etc/init.d/nginx加入chkconfig进行管理
chkconfig --add /etc/init.d/nginx
(4)让chkconfig配置nginx为开机自动启动模式
chkconfig --level 3 nginx on
(5)上传nginx.service到/lib/systemd/system中,实现开机启动
systemctl enable nginx
5.验证
#重启服务器(reboot),然后在浏览器验证nginx是否已启动
service nginx start
service nginx stop
service nginx restart