博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RHEL7下 nginx 的详细配置
阅读量:6837 次
发布时间:2019-06-26

本文共 2633 字,大约阅读时间需要 8 分钟。

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。

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

红帽7系统默认是没有nginx这个安装包的,所以我们添加nginx的yum

vim /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=
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
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 nginx

客户端测试,网页访问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会将请求转换给后天服务器

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
vim /etc/nginx/conf.d/default.conf
添加在配置文件的最后面
upstream tang {
server 192.168.120.76;
server 192.168.120.77;
}
location / {
proxy_pass ; #名字选择上面定义的名字
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 ;
proxy_redirect default;

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

转载于:https://blog.51cto.com/laotang6/2103716

你可能感兴趣的文章
如何通过一个值查找到值所在的SQL数据库表
查看>>
Python学习—面向对象学习上
查看>>
3.9 对称三位素数
查看>>
Oracle临时表空间使用分析
查看>>
傻瓜式的ARP处理方法
查看>>
Django1.4 python2.7 apache mod_python 安装与部署实例
查看>>
浅析MySql二进制日志的应用
查看>>
tcc新的插装引擎对比原有实现的改进
查看>>
layoutSubviews何时调用的问题
查看>>
Java数据类型
查看>>
[转] 配置VNC
查看>>
unity使用UGUI创建摇杆
查看>>
实习小白::(转) 使用Tui-x制作cocos能使用的界面,动画等 ---------- Tui-x 简介...
查看>>
Red Hat 6.5 网络yum源的配置
查看>>
如何解决EditText使用时,点击外侧系统键盘不消失的bug
查看>>
SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)
查看>>
使用JSP渲染Web视图
查看>>
iOS_nil、Nil、NULL、NSNull的区别
查看>>
python操作excel小试牛刀
查看>>
vue通俗易懂的子组件向父组件传值
查看>>