红帽7系统默认是没有nginx这个安装包的,所以我们添加nginx的yum
vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/rhel/7/$basearch/
gpgcheck=0
enable=1
yum clean all
yum makecache
现在就可以进行yum安装了
yum install -y nginx
我们先来熟悉一下nginx
vim /etc/nginx/conf.d/default.conf 默认配置目录
如图所示:网站默认路径是 /usr/share/nginx/html
我们来更改下网站目录为 /home/www/tang/
mkdir -p /home/www/tang
echo "tang" > /home/www/tang/index.html #首页内容
实验环境记得关闭防火墙很Selinux
systemctl stop firewalld
setenforce 0
systemctl restart nginx
客户端访问:ok
网站配置多站点有三种方法,分别是基于IP,基于端口,跟基于域名的
首先我们先来配置基于IP的
单网卡配置多IP(此方法重启会失效)
ifconfig ens33:0 192.168.120.74 netmask 255.255.255.0 up
ifconfig ens33:1 192.168.120.75 netmask 255.255.255.0 up
创建各自及首页
mkdir -p /home/www/74
mkdir -p /home/www/75
echo "192.168.120.74" > /home/www/74/index.html
echo "192.168.120.75" > /home/www/75/index.html
cd /etc/nginx/conf.d/
vim 74.conf
vim 75.conf
systemctl restart nginx
客户端测试,网页访问192.168.120.74跟192.168.120.75,会出现不同的首页
基于IP的多站点配置完成了, 这里可能有人会问,我有些网站别人需要输入密码才能访问要怎么实现。
网站加密
yum -y install httpd-tools
vim /etc/nginx/conf.d/74.conf
auth_basic "Basic Auth"; //认证命名
auth_basic_user_file "/etc/nginx/.htpasswd"; //用户密码认证路径
htpasswd -c /etc/nginx/.htpasswd tang #生成帐号密码(记得路径就是图上指定的路径)
客户端访问192.168.120.74测试:(输入密码才可以出现内容)
接下来我们来配置基于端口的多网站,配置跟上面基本相同
mkdir -p /home/www/8888
mkdir -p /home/www/9999
echo "8888" > /home/www/8888/index.html
echo "9999" > /home/www/9999/index.html
cd /etc/nginx/conf.d/
vim 8888.conf
vim 9999.conf
客户端测试:
基于端口也配置完成了,是不是很简单,现在我们来配置最后一个基于域名的,需要配置dns解析服务器才能实验,
配置dns过去我就省略了,不会的看我前面的笔记
dns解析
mkdir -p /home/www/aaa
mkdir -p /home/www/bbb
echo "aaa" > /home/www/aaa/index.html
echo "bbb" > /home/www/bbb/index.html
cd /etc/nginx/conf.d/
vim aaa.conf
vim bbb.conf
systemctl restart nginx
客户端测试(客户端dns需要指定到服务器IP)
好了,虚拟主机的三种方法上面都配置完成了,命令区别基本不大
现在我们来认识下nginx 的负载均衡吧
逻辑拓扑:
当用户向nginx负载均衡请求访问网站,nginx会将请求转换给后天服务器
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
vim /etc/nginx/conf.d/default.conf
添加在配置文件的最后面
upstream tang {
server 192.168.120.76;
server 192.168.120.77;
}
location / {
proxy_pass http://tang; #名字选择上面定义的名字
proxy_redirect default;
systemctl restart nginx
客户端服务测试:
weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的 情况。
upstream tang {
server 192.168.120.76 weight=4; #weight 是权重,默认1,越大,概率越高
server 192.168.120.77 weight=6;
server 192.168.120.78 weight=5 backup; #backup 是备用服务器,服务器全部崩溃后启用
}
location / {
proxy_pass http://tang;
proxy_redirect default;
负载均衡配置也计较简单,这里就不测试了,留给你们试试看吧!!!
原文地址:http://blog.51cto.com/laotang6/2103716