RHEL7下 nginx 的详细配置

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。
其特色是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,
中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。html

红帽7系统默认是没有nginx这个安装包的,因此咱们添加nginx的yumlinux

vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/rhel/7/$basearch/
gpgcheck=0
enable=1nginx

yum clean all
yum makecachevim

如今就能够进行yum安装了
yum install -y nginx后端

咱们先来熟悉一下nginx
vim /etc/nginx/conf.d/default.conf 默认配置目录
如图所示:网站默认路径是 /usr/share/nginx/html
RHEL7下 nginx 的详细配置
咱们来更改下网站目录为 /home/www/tang/
RHEL7下 nginx 的详细配置
mkdir -p /home/www/tang
echo "tang" > /home/www/tang/index.html #首页内容
实验环境记得关闭防火墙很Selinux
systemctl stop firewalld
setenforce 0
systemctl restart nginx
客户端访问:ok
RHEL7下 nginx 的详细配置
网站配置多站点有三种方法,分别是基于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
RHEL7下 nginx 的详细配置服务器

建立各自及首页
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
RHEL7下 nginx 的详细配置并发

vim 75.conf
RHEL7下 nginx 的详细配置负载均衡

systemctl restart nginxide

客户端测试,网页访问192.168.120.74跟192.168.120.75,会出现不一样的首页
RHEL7下 nginx 的详细配置性能

RHEL7下 nginx 的详细配置

基于IP的多站点配置完成了, 这里可能有人会问,我有些网站别人须要输入密码才能访问要怎么实现。
网站加密
yum -y install httpd-tools
vim /etc/nginx/conf.d/74.conf
RHEL7下 nginx 的详细配置

auth_basic "Basic Auth"; //认证命名
auth_basic_user_file "/etc/nginx/.htpasswd"; //用户密码认证路径

htpasswd -c /etc/nginx/.htpasswd tang   #生成账号密码(记得路径就是图上指定的路径)

RHEL7下 nginx 的详细配置
客户端访问192.168.120.74测试:(输入密码才能够出现内容)
RHEL7下 nginx 的详细配置

接下来咱们来配置基于端口的多网站,配置跟上面基本相同
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
RHEL7下 nginx 的详细配置

vim 9999.conf
RHEL7下 nginx 的详细配置

客户端测试:
RHEL7下 nginx 的详细配置

RHEL7下 nginx 的详细配置

基于端口也配置完成了,是否是很简单,如今咱们来配置最后一个基于域名的,须要配置dns解析服务器才能实验,
配置dns过去我就省略了,不会的看我前面的笔记
dns解析
RHEL7下 nginx 的详细配置

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
RHEL7下 nginx 的详细配置

vim bbb.conf
RHEL7下 nginx 的详细配置

systemctl restart nginx

客户端测试(客户端dns须要指定到服务器IP)
RHEL7下 nginx 的详细配置

RHEL7下 nginx 的详细配置

好了,虚拟主机的三种方法上面都配置完成了,命令区别基本不大
如今咱们来认识下nginx 的负载均衡吧
逻辑拓扑:
RHEL7下 nginx 的详细配置

当用户向nginx负载均衡请求访问网站,nginx会将请求转换给后天服务器

一、轮询(默认)
每一个请求按时间顺序逐一分配到不一样的后端服务器,若是后端服务器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;

RHEL7下 nginx 的详细配置

systemctl restart nginx
客户端服务测试:
RHEL7下 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;

负载均衡配置也计较简单,这里就不测试了,留给大家试试看吧!!!

相关文章
相关标签/搜索