那位先生

个人站

前世五百次回眸,才能换得今生的一次擦肩而过。


nginx

1.概述

xx

2.nginx安装

2.1.解压opt的包到soft目录

2.2.安装依赖

2.2.1编译

编译失败,缺少组件,要安装gcc

2.2.2继续编译

2.2.3再执行编译

2.2.4再执行编译

[root@localhost nginx-1.21.6]# ./configure --prefix=/user/local/nginx 编译ok

2.2.5执行make

2.2.6执行make install

2.2.7安装成功

在编译的目录下生成了nginx目录

2.3.nginx启动

命令(进入到nginx编译的目录): ./nginx 启动 ./nginx –s stop 快速停止 ./nginx –s quit 优雅关闭,关闭前完成已经接收的连接请求 ./nginx –s reload 重新加载配置

2.3.1启动

2.3.2关闭防火墙

2.3.3验证

浏览器输入IP地址回车

2.4.nginx安装成系统服务

2.4.1文件配置

1.编辑文件 vi /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/user/local/nginx/logs/nginx.pid
ExecStartPre=/user/local/nginx/sbin/nginx -t -c /user/local/nginx/conf/nginx.conf
ExecStart=/user/local/nginx/sbin/nginx -c /user/local/nginx/conf/nginx.conf
ExecReload=/user/local/nginx/sbin/nginx -s reload
ExecStop=/user/local/nginx/sbin/nginx -s stop
ExecQuit=/user/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
	

2.重新加载系统服务 systemctl daemon-reload 3.验证

2.4.2卡机启动nginx

systemctl enable nginx.service

3.nginx操作

3.1.不同端口号,访问不同地址

两个文件夹下都有index.html,访问nginx时,不同端口号,访问不同index.html

  1. 修改conf目录下的nginx.conf(是编译的目录,不是安装目录 。/user/local/nginx/conf)
  2. 修改完重启nginx: systemctl reload nginx

    3.2.多个域名访问一个地址

  3. 完整的两个域名地址 ,中间空格隔开
  4. 可以模糊域名匹配。如:*.xxxx

    3.3.onf有有个server配置

    优先匹配前面的server,前面匹配完不再往下

    4.正向代理和反向代理

    4.1.正向代理

    流程:用户->网关->服务器。 用户无法访问服务器,而使用了网关代理服务器。 正向代理隐藏了真实的客户端。

    4.2.反向代理

    流程:用户->网关->服务器。 服务器向用户隐藏了真实的服务器。

    4.3.nginx反向代理

    修改nginx.conf文件,添加prox_pass配置 在页面输入我的服务器地址后,自动跳转到proxy_pass的地址,而且浏览器地址栏显示的是我的地址。 注意:地址不能是https开头(需要有其它配置),否则,地址栏显示的是真实的访问地址。

    5.负载均衡

    在conf文件配置 upstream 输入nginx服务器地址,页面轮流访问upstream的两个网站

    5.1.负载均衡策略

    1.权重:按照权重进行分配访问频率 2.其它

    6.配置防火墙只能通过nginx服务器访问应用服务器

    7.Referer防盗链

    7.1 盗链

    盗链是指服务提供商不提供服务内容,而是通过技术手段绕过限制,直接向终端用户提供其他服务提供商的内容,利益自己独享,代价却由其他服务提供商承担的一种恶意行为。 盗链会大量消耗被盗链网站的带宽,使该网站付出巨额的成本,却得不到任何回报。 Refer防盗链:Referer是http一个标记,它会告诉服务器该网页是从哪里来的,通过设置Referer黑白名单来防止被盗链。

    7.2 nginx配置防盗链

    在conf文件的location(任意个都行)配置valid_referers none属性:不添加即使不盗链也无法直接访问,添加后如果不是盗链,输入地址可访问

    7.3 返回指定错误页面

    在html下添加页面,在conf文件配置error_page(这个可以配置多个),通过返回的状态码,找到指定错误页面

    7.4 返回指定图片

    通过rewrite实现

    8.nginx高可用

    8.1 原理

    nginx1为主服务器,nginx2为备服务器,当nginx1挂了,nginx2顶上,但是连个ip不一致,导致界面无法访问,因此,需要虚拟出一个ip。 Keepalive可以实现,虚拟出一个vip,用户通过vip都可以连接两台服务器,并实现监控两个服务器的可用性,nginx1挂了,访问vip时自动访问到nginx2。

    8.2 keepalive安装配置

    两台机器都安装。 执行命令:yum install -y keepalived 配置文件位置:

    8.2.1 主服务器配置

    ``` ! Configuration File for keepalived

global_defs {

router_id lbs138 }

vrrp_instance xie001 { state MASTER interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.146.200 } }

``` 注意:192.168.146.200 是vip,ens33是网卡名称。 验证是否启动正常: 输入ip addr出现虚拟ip地址

8.2.2 备用服务器配置

启动后,因为主服务器还存活,ip addr命令还不会显示200的ip地址。

8.3 测试

  1. 在windows上ping 200
  2. 关掉主机 出现一次超时后,访问又很快正常了,同时备机输入ip addr出现了200的vip地址。

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
你说多少就多少

比五毛钱特效专业哦