Nginx
简介
Nginx是一款轻量级web服务器、也是一款反向代理服务器。
它的作用有很多:可直接支持Rails和PHP的程序,可作为HTTP反向代理服务器,作为负载均衡服务器,作为邮件代理服务器,帮助实现前端动静分离等。
特点
高稳定、高性能、资源占用少、功能丰富、模块化结构、支持热部署等。
安装
- 安装gcc(yum install gcc-c++)==》 可输入gcc -v查询版本信息,看系统是否自带gcc
- 安装pcre(yum install pcre pcre-devel)
- 安装zlib(yum install zlib zlib-devel) - - - - 这些都是ngnix的依赖
- 安装openssl(yum install openssl openssl-devel)[注:如需支持ssl,才需安装openssl]
- 以上所有的安装可综合起来输入:yum -y install gcc pcre-devel zlib zlib-devel openssl openssl-devel
- wget Ngnix的下载连接地址
- 解压:tar -zxvf 文件名
配置
- 进入ngnix目录之后执行 ./configure :
- )也可指定安装目录,增加参数 --prefix = /usr/nginx
- )如果不指定路径,可通过whereis nginx进行查询
- )默认安装在/usr/local/nginx
nginx的./configure脚本做了很多工作,例如环境检测、参数解析、目录生成、Makefile文件的生成等。
2.继续执行make
3.继续执行make install
Ngnix常用命令
- 测试配置文件是否有错:安装路径下的 /nginx/sbin/nginx -t
- 启动命令:安装路径下的 /nginx/sbin/nginx
- 停止命令:安装路径下的 /nginx/sbin/nginx -s stop 或者是:nginx -s quit
- 重启命令:安装路径下的 /nginx/sbin/nginx -s reload (配置文件重新加载)
- 查看进程命令:ps -ef|grep nginx
- 平滑重启:kill -HUP PID(Nginx主进程号)
当nginx接收到HUP信号时,它会尝试先解析配置文件(如果指定文件,就使用指定的,否则使用默认的),如果成功,就应用新的配置文件(例如:重新打开日志文件或监听的套接字),之后,nginx运行新的工作进程并从容关闭旧的工作进程,通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务,所有客户端的服务完成后,旧的工作进程就关闭,如果新的配置文件应用失败,nginx再继续使用旧的配置进行工作。
补充内容:nginx的几种信号
TERM,INT 快速关闭
QUIT 从容关闭
HUP 平滑重启,重新加载配置文件
USR1 重新打开日志文件,在切割日志时用途较大
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程
- 增加防火墙的访问权限:在iptables文件中加入 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT ==>重启防火墙(service iptables restart)
反向代理的配置:ngnix虚拟域名(为了不买真实的域名)配置及测试验证
- 编辑 vim /usr/local/nginx/conf/nginx.conf 增加include vhost/*.conf [这是为了便于管理,以域名作为文件名的前缀]
- 在/usr/local/nginx/conf/ 目录新建vhost文件夹 即:/usr/local/nginx/conf/vhost
- 创建域名转发配置文件,详情访问 http://learning.happymmall.com/nginx/linux_conf/vhost/ (后面四个,相关讲解之后会写)
- 启动(重启)验证:
- 启动:${nginx}/sbin/nginx (${nginx}代表安装在系统中的路径)
- 重启:${nginx}/sbin/nginx -s reload
- 访问验证:使用默认80端口访问验证:http://地址:80
域名配置的几种方式
- 指向端口:learning.happymmall.com.conf =>>根据HTTP指向HTTP和端口的配置;
happymmall.com.conf =>> 即指向端口又指向目录
(1)表示监听端口80;(2)表示是否创建首页索引目录;(3)二级域名;(4)端口转发,当访问域名(3)时,nginx会将请求转移到4号目录下;
2.指向目录:线上的图片服务器、给前端部署的服务器等都可以通过指向目录来进行反向代理。
(1)当访问域名时,直接指向硬盘的目录
注意:用虚拟域名配置域名转发时,一定要配置host,并且使host生效之后才可以,设置完成之后重启浏览器。
host配置:vim /etc/hosts ==> 添加对应的域名及ip ==> wq;
访问虚拟域名时就会进入10.211.55.6
nginx.conf文件的讲解:
蓝线部分是指:加载vhost下的所有后缀为.conf的配置文件。