Nginx学习笔记

一、在linux上安装Nginx

我用的是docker安装的,先安装运行nginx,运行以下命令下载最新的nginx镜像

docker run -d --name demonginx -p 80:80 nginx

docker ps查看是否运行,运行成功后创建自己的nginx目录,方便修改配置文件

在liunx /usr/local/docker(路径可以自行修改)下执行 mkdir -p ./nginx/{conf,html,logs}创建挂载目录

进入自己创建的nginx文件,然后复制容器的目录到自己创建的目录(ef表示容器id)

docker cp ef:/etc/nginx/nginx.conf ./

dokcer cp ef:/etc/nginx/conf.d/default.conf ./conf/

完成后docker rm -f demonginx删除容器,重新以自己的目录映射打开nginx

docker run --name demonginx -p 80:80 -v /usr/local/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/docker/nginx/html/html:/usr/share/nginx/html/ -v /usr/local/docker/nginx/logs/:/var/log/nginx/ -v /usr/local/docker/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx

完成后防火墙加入ip

firewall-cmd --list-all查看端口

设置开放的端口号

firewall-cmd --add-service=http –permanent

firewall-cmd --add-port=80/tcp --permanent

设置之后需要重启防火墙

firewall-cmd --reload

然后进入网页测试192.168.x.x(此处为你的linux的ip地址)

如果出现403,则进入我们的nginx目录下的html目录,加入一个index.html文件,随便写什么

二、测试反向代理

1、准备工作

首先准备tomcat服务器,用于nginx代理访问

也是用docker下载镜像

docker run -d --name demotomcat -p 8080:8080 tomcat

设置开放的端口号

firewall-cmd --add-port=8080/tcp --permanent

设置之后需要重启防火墙

firewall-cmd --reload

docker ps 查看tomcat是否启动成功,启动成功则进入192.168.x.x:8080查看

如果没有进入tomcat页面,则进入容器目录

docker exec -it demotomcat /bin/bash

rm -rf webapps

mv webapps.dist webapps

然后重新访问192.168.x.x:8080

2、配置nginx

准备好tomcat就开始配置nginx的配置文件

进入自己创建的nginx路径,进入conf文件夹,里面有一个default.conf

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2h1YWlmZWlmZWlh,size_14,color_FFFFFF,t_70,g_se,x_16

 vim default.conf或者vi default.conf编辑文件

b7c3c2d8d4994d149ed7cf576934ed0f.png

server_name 改成你liunx的ip地址

然后在下面的location中加入

如果是docker安装的tomcat,还是用linux的ip地址

proxy_pass 192.168.x.x:8080 ;(注意要加分号;)

如果是解压缩文件打开的tomcat,可以用127.0.0.1

修改完成后重启nginx

docker stop demonginx

docker start demonginx

修改成功后进入网页访问192.168.x.x成功访问到tomcat页面

三、测试负载均衡

1、准备工作

再用docker 开启一台端口为8081的tomcat服务器,和上面的配置差不多,以下就只写命令

docker run -d --name demotomcat2 -p 8081:8081 tomcat

firewall-cmd --add-port=8080/tcp --permanent

firewall-cmd --reload

docker exec -it demotomcat2 /bin/bash

rm -rf webapps

mv webapps.dist webapps

完成后此时需要修改tomcat的配置文件端口问8081

cd conf

在conf目录中有个server.xml文件,用vim打开,如果没有vim命令,先安装

apt-get update
apt-get install vim  安装过程中按y

完成后vim server.xml编辑文件

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2h1YWlmZWlmZWlh,size_20,color_FFFFFF,t_70,g_se,x_16

此处端口改掉,和原来不一致即可

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2h1YWlmZWlmZWlh,size_12,color_FFFFFF,t_70,g_se,x_16

此处改成8081

修改完成后,打开网页访问192.168.x.x:8081,页面访问成功

2、配置nginx 

同样进入nginx的conf目录

vi default.conf编辑文件

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2h1YWlmZWlmZWlh,size_13,color_FFFFFF,t_70,g_se,x_16

加入upstream myserver{

        server        192.168.81.130:8080;

        server        192.168.81.130:8081;

location中加入

        proxy_pass        http://myserver;

修改完成后重启nginx

docker stop demonginx

docker start demonginx

3、几种轮询策略

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

2、权重 weight

weight 代表权重默认为 1,权重越高被分配的客户端越多

a3949faa3ba7e920751816d448dc48d4.png

3、 ip_hash

每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器

b43bc720d7d5868a08056e6ca4277ddf.png

4、 fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

ff345f3d15ae6f1ffd5e2dea46b4b6a5.png

四、测试动静分离

1、准备工作

docker运行的nginx是映射了主机的/usr/local/docker/nginx/html的

所以在html/html里面创建data文件夹,进入data文件夹创建www和image文件夹

在www放入静态网页资源html文件

在image放入图片,图片可以用Xshell6放入

查看是否安装了上传与下载程序:

rpm -qa |grep sz

rpm -qa |grep rz

如果没有安装,可以使用如下命令进行安装:

yum -install sz

yum -install rz

直接使用命令rz

2、配置nginx

进入docker的nginx的conf目录

cd /usr/local/docker/nginx/conf

vi default.conf编辑文件

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2h1YWlmZWlmZWlh,size_14,color_FFFFFF,t_70,g_se,x_16

 

root 配置一定要是容器映射的地址,最后要加上斜杠/

root   /usr/share/nginx/html/data/;

配置location,其中autoindex on;可以不配置

 配置了autoindex on;表示可以看到目录,如果想看到目录必须在最后加上/

image/ 不加最后的斜杠会出现404

五、配置高可用(待更新)

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值