首页 > 其他 > 详细

NGINX学习笔记

时间:2018-08-15 10:24:30      阅读:208      评论:0      收藏:0      [点我收藏+]
Nginx简介

-----是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器
-----官方网站:http://nginx.org/

服务端IP:192.168.4.7
客户端IP:192.168.4.407

服务端安装Nginx

下载之后解压,再cd到解压的目录
执行./configure --prefix=/usr/local/nginx (指定安装路径) --with-xxx --with (安装功能模块)
例如: 安装ssl模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module
编译安装
make
make install

/usr/local/nginx.conf 配置文件
logs 日志和pid文件
html 页面
sbin 主程序

#ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ #nginx #启动服务

#nginx -s stop 关闭服务

#nginx -s reload 重新加载配置文件

#nginx -V 查看nginx信息

Nginx首页默认在/var/www/html/inde.html

实验:用户认证
需要输入用户名和密码才能访问网站

vim /usr/local/nginx/conf/nginx.conf
…………
http{

server {
listen 80;
server_name localhost;

auth_basic "任意字符:";
auth_basic_user_file "/usr/local/nginx/pass";

#写入这两行,就是打开网站的时候需要输入用户名和密码
}

}
安装一个软件包
#yum -y install httpd-tools
创建一个测试用户zhangsan
#htpasswd -cm /usr/local/nginx/pass zhangsan

密码
-c 创建密码文件[create] -m[加密密码]md5

#nginx -s reload //重启Nginx
重新用浏览器访问测试需要用户名和密码即可

实验:配置加密网站
步骤一:配置SSL虚拟主机
源码安装Nginx时必须使用--with-http_ssl_module参数

1.生成证书和私钥
2.#cd /usr/local/nginx/conf //一定要切换到这个目录下 ,因为Nginx读取秘钥就是在这个目录下读取的
3.#openssl genrsa >my.key //生成私钥
4.cpenssl req -new -x509 -key -out my.crt //使用私钥生成对应的证书
5.# vim /usr/local/nginx/conf/nginx.conf //修改配置文件
. … …????
server {
listen 443 ssl;
server_name www.longge.com; //网站自己随便写一个
ssl_certificate my.crt; //my.crt和上面创建的证书名一致
ssl_certificate_key my.key; //my.key 和上面创建的私钥名一致
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}

步骤二:客户端验证
1)修改客户端主机192.168.4.207的/etc/hosts文件,进行域名解析

#vim /etc/hosts
192.168.4.7????www.longge.com
登录192.168.4.207客户端主机进行测试
firefox https://www.longge.com????????????//信任证书后可以访问

实验:Nginx反向代理
使用Nginx实现Web反向代理功能,实现如下功能:
? 后端Web服务器两台,可以使用httpd实现
? Nginx采用轮询的方式调用后端Web服务器
? 两台Web服务器的权重要求设置为不同的值
? 最大失败次数为1,失败超时时间为30秒

使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.7和192.168.2.5,两台Web服务器IP地址分别为192.168.2.100和192.168.2.200。客户端测试主机IP地址为192.168.4.207。

步骤
实现此案例需要按照如下步骤进行。
步骤一:配置Nginx服务器,添加服务器池,实现反向代理功能
1)修改/usr/local/nginx/conf/nginx.conf配置文件

vim /usr/local/nginx/conf/nginx.conf
. .. ..
http {
.. ..
upstream webs {
server 192.168.2.100 weight=1 max_fails=2 fail_timeout=10;
server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10;
}

.. ..
server {
listen????????80;
server_name www.longge.com;
location / {
proxy_pass http://webs;
}
}
2)重启nginx服务

/usr/local/nginx/sbin/nginx –s reload

步骤二:部署实施后端Web服务器

1)部署后端Web1服务器

后端Web服务器可以简单使用yum方式安装httpd实现Web服务,为了可以看出后端服务器的不同,可以将两台后端服务器的首页文档内容设置为不同的内容。

[root@web1 ~]# yum -y install httpd
[root@web1 ~]# echo “192.168.2.100” > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd

2)部署后端Web2服务器

[root@web2 ~]# yum -y install httpd
[root@web2 ~]# echo “192.168.2.200” > /var/www/html/index.html
[root@web2 ~]# systemctl restart httpd

步骤三:客户端测试
1)修改客户端hosts文件

[root@client ~]# vim /etc/hosts
.. ..
192.168.4.7????????www.longge.com

2)使用浏览器访问代理服务器测试轮询效果

[root@client ~]# curl http://www.longge.com????????????//使用该命令多次访问查看效果

> 注意:

Nginx可能因为firewall的原因导致客户端不能访问,请修改firewall的默认区域为trusted或暂时关闭firewall
#firewall-cmd --set-default-zone=trusted //修改默认区域
#systemcrt stop firewall

NGINX学习笔记

原文:http://blog.51cto.com/12760101/2159993

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!