简介:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是:占有内存少,并发能力强。
在Linux虚拟机(centos)上安装Nginx:
我用到了VMware和Finalshell
1、执行命令安装依赖包:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2、下载Nginx安装包:
(可以从官网下到Windows系统后再上传,也可以直接在虚拟机上联网下载,我这里采用了第二种。)
先安装wget
yum install wget
去官网nginx: download找到你要下的版本并复制链接地址
wget http://nginx.org/download/nginx-1.16.1.tar.gz
3、解压
tar -zxvf nginx-1.16.1.tar.gz
4、安装
[root@192 ~]# cd nginx-1.16.1 [root@192 nginx-1.16.1]# mkdir -p /usr/local/nginx [root@192 nginx-1.16.1]# ./configure --prefix=/usr/local/nginx [root@192 nginx-1.16.1]# make && make install
目录结构:
Nginx命令:
简单访问Nginx服务器:
关闭防火墙:
systemctl stop firewalld
开启Nginx服务器:
/usr/local/nginx/sbin/nginx
在浏览器中输入ip地址(ip addr命令查看)
配置环境变量,使得nginx命令简化:
nginx -s reload只能在sbin目录下有效,其他目录不会识别此命令。
解决:
[root@192 /]# vim -r /etc/profile
保存退出
修改后,启动nginx只要输入命令:
nginx
即可,其他命令类似。
Nginx配置文件结构:
具体应用:
部署静态资源:
示例:
我在html目录下创建了一个html文件,文件内容如图所示,启动nginx服务,并访问hello.html:
反向代理:
简单示例:
在一台虚拟机上装jkd,并且运行一个简单的jar项目,关闭防火墙,在浏览器上是可以访问的到的,如:
现在我们希望将100(安装好了Nginx)作为反向代理,间接访问101
在conf文件中添加如下:
结果:
负载均衡:
(基于反向代理实现,增加了应用服务器,并采用某种均衡算法)
准备:
一台虚拟机安装号Nginx,另外一台虚拟机安装好jdk,并通过两个不同的端口,提供两个不同的Web服务,如:
配置nginx.conf文件:
(targetserver可以自定义名字,简单起见,就不采用第三台虚拟机,在101虚拟机上再开放一个端口,并提供另外一个服务)
保存退出后需要执行命令:nginx -s reload(重新加载,也可以关闭nginx服务再启动)
结果:
在访问一次
重复访问,8080与8081交替出现!
可见默认的均衡算法是轮询,负载均衡算法还有很多种。