第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Nginx详解+身份验证+虚拟主机+反向代理负载均衡

Nginx详解+身份验证+虚拟主机+反向代理负载均衡

时间:2020-10-08 19:53:31

相关推荐

Nginx详解+身份验证+虚拟主机+反向代理负载均衡

一、差异对比

Apache Nginx

配置相对复杂 配置相对简单

原生支持动态和静态页面 支持静态页面

模块相对安全 高性能模块出产迅速、社区活跃

BUG相对较少,消耗资源较多 BUG相对较多,节省资源

对加密支持较好 对反向代理支持较好

同步阻塞型应用 异步非阻塞型应用

运用的函数:select 运用的函数:epoll

源码包nginx的配置文件位置/usr/local/nginx/conf/nginx.conf

二、配置文件详解

丄指定运行的身份是谁

丄指定同时有几个子进程运行,同时可以处理几个任务,cpu的一个线程,就代表可以同时处理一个任务。

丄日志已经pid(进程号)

丄每个进程可以支持多少连接

丄mime.types文件中指定哪种格式的文件交给那个模块处理(和apache一样)

丄开启高效文件传输(默认开启有可能导致图片显示不出来)

丄开启高效文件传输(默认开启有可能导致图片显示不出来)

丄定义每个分发路径的区域 。 端口和域名。

丄1,定义网页分发根目录所在位置2,定义索引文件

丄定义了报错404时使用的页面的位置

丄定了这些错误码去哪里引用

丄如果网页分发根目录下有.php结尾的文件就交给本地端口9000去处理,处理完请求后交给nginx去返回请求

三、单个Nginx 的安装

yum -y install gcc*

yum -y install pcrepcre-develzlibzlib-developenssl-devel openssl

useradd -M -s /sbin/nologin nginx

解压软件包nginx

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module

make

makeinstall

useradd -M -s /sbin/nologin nginx

添加监控模块

vi /usr/local/nginx/conf/nginx.conf

location /abc {

stub_status on;

}

保存退出,重启服务。

访问前面指定的abc目录

丄1,当前有4个链接,2,第一,请求的次数,第二,响应的次数,第三,返回的请求的次数3,请求中的信息,返回的信息,正在等待的请求。

四、 Nginx实验

1Nginx身份验证

a、基于用户名密码

vi /usr/local/nginx/conf/nginx.conf

location /abc {#为上面的状态统计做加密

stub_status on;#开启

auth_basic "Welcome to nginx!";#欢迎信息

auth_basic_user_file /usr/local/nginx/html/a.psd;#信息的文件所在位置

}

htpasswd -c /usr/local/nginx/html/a.psd zhangsan#htpasswd是apache的命令,所以需要安装apache,通过这个命令生成指定哪个用户可以访问。

htpasswd -m/usr/local/nginx/html/a.psd lisi

修改配置文件

保存退出,创建密码文件htpasswd -c /usr/local/nginx/html/a.psd zhangsan

重启nginx 。 -t检查配置文件语法

再次访问abc监控文件测试

输入zhangsan密码123登陆

b、基于IP限制访问

实验环境nginx服务器64,客户端76

vi /usr/local/nginx/conf/nginx.conf

location /abc {

stub_status on;

auth_basic "Welcome to nginx!";

auth_basic_user_file /usr/local/nginx/html/a.psd;

allow 192.168.116.64;

deny 192.168.116.0/24;允许64拒绝116网段,拒绝所有0.0.0.0

}

更改后如下

;保存退出重启服务。

64访问。

其他人访问。

c、虚拟主机

实验环境:64服务器,73客户端

vi /usr/local/nginx/conf/nginx.conf

复制server{}区域,不同的server区域则是不同的虚拟主机,同apache拥有基于域名端口的虚拟

主机

删掉配置文件里server区的模板和注释后复制server区

基于端口不同。修改两者的不同,端口和家目录

创建目录,和网页文件

重启服务

访问80端口

访问8080端口

基于域名不同。端口相同修改域名。

在客户端映射文件中写入ip域名对应关系。

分别访问测试

dNginx的反向代理功能

说明:反向代理的实现过程是,当客户端访问请求道 nginx 服务器是,nginx充当客户端去真正的服务端去

数据,返回给client端,这个过程称之为反向代理

实验环境说明:192.168.116.73安装了lamp环境,192.168.116.64安装了 nginx 程序,实现 nginx 完全的反

向代理 lamp

73,启动apache服务,到网页分发目录下创建index.html文件写入test用于测试

64,修改nginx的配置文件

修改server区的location区删除路径和格式两行,添加proxy_pass http://192.168.116.73:80;

②、在 / 的区域内设置反向代理

location / {

proxy_pass http://

}

保存,重启服务

访问,反向代理nginx服务器

e、负载调度的用法

upstream:可以进行一些简单的负载 应用层可以跨平台。

rr轮询机制算法。收到的请求在每个服务器之间切换。

hash,某个ip断开后下次仍然可以访问用一个服务器。

实验环境:64nginx反向代理服务器 ,73,和75,做apache服务器或lamp

①、在server区域外创建一个 upstream 区域,此区域中编写的内容为负载群

upstream {

ip_hash; #指定算法

#调度算法,默认 rr 轮训,hash常用语解决session共享的问题

server 192.168.116.73:80 weight 1; #指定后端服务器server 192.168.116.75:80 weight 1;

server 192.168.116.xx:80 weight 1 backup;

#backup 表示机器处于热备状态,weight代表权重(可以不写),权重越高代表使用越多

}

退出,重启服务

用76客户端访问测试

刷新

使用hash算法

重启服务

测试

刷新不变

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。