Nginx简介
- Nginx是一款轻量级的Web服务器、也是一款反向代理服务器。
Nginx功能
- 1:可以直接支持Rails和PHP的程序。
- 2:可作为HTTP反向代理服务器。
- 3:作为负载均衡的服务器。
- 4:作为邮件代理服务器。
- 7:帮助实现前端静动分离。
Nginx特点
- 高稳定,高性能, 资源占用少,功能丰富, 模块化结构,支持热部署。
Nginx项目配置及验证
- Linux系统下的配置
- Windows 系统下的配置
Linux系统下的配置
- 安装的系统环境: CentOS 6.8 64位
- 版本1.10.2
- 安装gcc(命令:
yum install gcc-c++
) 备注:可以输入gcc -v 查询版本信息,看系统是否自带安装。 - 安装pcre(命令:
yum install pure-devel
)。 - 安装zlib(命令:
yum install lib lib-devel
) 。 - 安装openssl(命令:
yum install openssl openssl-devel
)。- 综合命令:
yum -y install gcc lib zlib-devel pure-devel openssl openssl-devel
。
- 综合命令:
- 下载源码包,稳定版本。(http://www.nginx.org/)
- 解压文件:
-
$ tar -zxvf nginx-1.10.2.tar.gz
。
-
- Nginx安装
- 1:进入nginx目录之后执行
./configure
。- 也可以指定安装路径,增加参数
--prefix=/usr/nginx
。 - 如果不指定路径,可以通过
whereis nginx
进行查询。 - 默认安装在/usr/local/nginx。
- 也可以指定安装路径,增加参数
- 继续执行
make
命令。 - 继续执行
make install
。
- 1:进入nginx目录之后执行
Windows 系统下的配置
- 安装的系统环境: Windows7 64位。
- 版本1.10.2 : 下载地址: http://nginx.org/download/nginx-1.10.2.zip 。
- 解压缩。
- 运行nginx.exe,通过双击图标或者cmd命令行运行。
Nginx常用命令
- 测试配置文件
- 安装路径下的
/nginx/sbin/nginx -t
- 安装路径下的
- 启动命令
- 安装路径下的
/nginx/sbin/nginx
- 安装路径下的
- 停止命令
- 安装路径下的
/nginx/sbin/nginx -s stop
- 安装路径下的
- 重启命令
- 安装路径下的
/nginx/sbin/nginx -s reload
- 安装路径下的
- 查看进程命令
- 安装路径下的
ps -ef | grep nginx
- 安装路径下的
- 平滑重启命令
- 安装路径下的
kill -HUP
。[Nginx主进程号]。
- 安装路径下的
增加防火墙访问权限
- 1:
sudo vim /etc/sysconfig/iptables
- 2:
-A INPUT -p tcp -m state --state NEW -m tcp -- dport 80 -j ACCEPT
- 3:保存退出
- 4: 重启防火墙
sudo service iptables restart
Nginx虚拟域名配置及测试验证
- 配置步骤:
- 1、nginx.conf
- 1: 编辑:
sudo vim /usr/local/nginx/conf/nginx.conf
。 - 2:增加:
include vhost/*.conf
- 3:保存退出。
- 1: 编辑:
- 2、在
/usr/local/nginx/conf/
目录新建vhost 文件夹。 - 3、创建域名转发配置文件。
- 4、 启动(重启)验证
- 启动:
${nginx}/sbin/nginx
。 - 重启:
${nginx}/sbin/nginx -s reload
。 ${nginx}代表安装在系统中的路径。
- 启动:
- 5: 访问验证:
- 使用默认80端口访问验证:http://localhost:80 或者 http://127.0.0.1:80
-
: 指向端口
- 1、nginx.conf
Nginx本地搭建注意事项
- 可以配置域名转发,但请一定要配置host,并且使host生效之后才可以,设置完成之后要重启浏览器。
- 1: Linux:
- 1:
sudo vim /etc/hosts
- 2: 添加好对应的域名及ip。
- 1:
- 2:Windows:
- 1: 进入
C: \Windows\System32\drivers\etc
- 2:用记事本打开 hosts文件。
- 3:添加好对应的 域名及ip。
- 1: 进入
Nginx conf文件配置
- 修改本地的host
-
将其中的参数拷贝到新创建的conf中去。
nginx支持的负载均衡调度算法方式如下:
-
weight轮询(默认):接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,nginx会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。 这种方式下,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率;权重数据越大,被分配到请求的几率越大;该权重值,主要是针对实际工作环境中不同的后端服务器硬件配置进行调整的。
-
ip_hash:每个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下session共享的问题。
-
fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少;结合了前两者的优点的一种调度算法。但是需要注意的是nginx默认不支持fair算法,如果要使用这种调度算法,请安装upstream_fair模块
-
url_hash:按照访问的url的hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在nginx作为静态服务器的情况下提高缓存效率。同样要注意nginx默认不支持这种调度算法,要使用的话需要安装nginx的hash软件包
微信扫码关注java技术栈,获取Java面试题和架构师相关题目和视频。
网友评论