nginx

nginx的6种负载均衡策略

Deadly 提交于 2020-12-17 15:56:23
在服务器集群中,Nginx起到一个反向代理服务器的作用。为了避免单独一个服务器压力过大导致服务器奔溃,就需要将不同用户的请求转发给不同给不同的服务器,保证集群中的每一台服务器都能正常运作,这种机制就叫做负载均衡。 下面说一下Nginx支持的6种负载均衡策略。 轮询(默认) 轮询是Nginx支持的默认负载均衡策略,轮询策略就是指每个请求会按时间顺序逐一分配到不同的后台服务器上。比如说一个集群中只有服务器A和服务器B,第一次访问是服务器A,第二次访问就是服务器B,第三次访问就是服务器A...以此类推。 upstream balanceServer { server localhost: 8081 ; server localhost: 8082 ; server localhost: 8083 ; server localhost: 8084 ; } 轮询策略提供如下参数: fail_timeout 与max_fails结合使用,表示max_fails次失败后服务器暂停的时间。 max_fails 设置在fail_timeout参数设置的时间内最大失败次数,默认是1,如果在这个时间内,所有针对该服务器的请求都失败了,那么认为该服务器会被认为是停机了,返回proxy_next_upstream模块定义的错误。 fail_time 服务器会被认为停机的时间长度,默认为10s。 backup

windows下nginx的安装及使用

走远了吗. 提交于 2020-12-17 15:24:40
1.下载nginx http://nginx.org/en/download.html 下载稳定版本,以 nginx/Windows-1.12.2 为例,直接下载 nginx-1.12.2.zip 下载后解压,解压后如下 2.启动nginx 有很多种方法启动nginx (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过 (2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx ,回车即可 3.检查nginx是否启动成功 直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功 也可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功 nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可 检查80端口是否被占用的命令是: netstat -ano | findstr 0.0.0.0:80 或 netstat -ano | findstr "80" 当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要执行命令 nginx -s reload 即可让改动生效

Nginx反向代理的几种配置模板

泄露秘密 提交于 2020-12-17 14:14:23
因为内网服务越来越多,各种IP加端口地址根本记不住,于是用Nginx做反响代理,也可以很好管理内网的地址分发。 下面提供几种Nginx配置模板。因为也是自己摸索着配置的,有错误的地方请指正,谢谢先。 # 重载配置 nginx -s reload # php配置 server { listen 88 ; server_name _; location ^~ / myphp{ alias /www/ myphp; index index.php index.html index.htm; if (!- e $request_filename) { rewrite ^/myphp/(.*)$ /index.php/$ 1 last; } location ~ \.php(/| $) { fastcgi_split_path_info ^(.+\.php)(/.* )$; fastcgi_index index.php; include fastcgi.conf; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass 127.0 . 0.1 : 9000 ; } } } # 反向代理1 # 需要传http header参数的 location ~ ^/api/(.* )$ { proxy_pass http: //

六个步骤,从零开始教你搭建基于WordPress的个人博客

五迷三道 提交于 2020-12-17 11:58:40
摘要 :WordPress是使用PHP语言开发的博客平台,是免费开源的。用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,也可以把WordPress当作一个内容管理系统(CMS)来使用。 一、购买云服务器和域名 可以参考以下博客进行购买,以华为云为例,服务商可以自选。如果已有云服务器和域名,直接进行第二步操作。 ▶ 云服务器和域名的购买—华为云 二、远程连接云服务器 可以参考以下博客进行远程连接服务器,也可以用其他办法连接。连接以后进行第三步操作。 ▶ Xftp和Xshelll的安装—远程连接linux 三、安装Nginx 可以参考以下博客进行安装Nginx,安装完成后进行第四步操作。 ▶ CentOS 7安装并配置Nginx 四、安装PHP 可以参考以下博客进行安装PHP,安装完成后进行第五步操作。 ▶ CentOS 7搭建PHP环境 五、安装MySQL并远程管理 可以参考以下博客进行安装MySQL,这里必须要新建一个可以远程登录的用户,而且要新建一个空的数据库用来存放博客数据。安装完成后进行第六步操作。 ▶ CentOS 7安装MySQL-5.7数据库 六、安装WordPress并配置网站 由于WordPress的官网国内可能无法访问,需要借助VPN才可以正常访问。所以我把资源上传到了蓝奏云。下载WordPress安装包可以使用以下地址。当然

021.掌握Pod-Pod调度策略

一曲冷凌霜 提交于 2020-12-17 10:56:28
一 Pod生命周期管理 1.1 Pod生命周期 Pod在整个生命周期过程中被系统定义了如下各种状态。 状态值 描述 Pending API Server已经创建该Pod,且Pod内还有一个或多个容器的镜像没有创建,包括正在下载镜像的过程。 Running Pod内所有容器均已创建,且至少有一个容器处于运行状态、正在启动状态或正在重启状态。 Succeeded Pod内所有容器均成功执行退出,且不会重启。 Failed Pod内所有容器均已退出,但至少有一个容器退出为失败状态。 Unknown 由于某种原因无法获取该Pod状态,可能由于网络通信不畅导致。 1.2 Pod重启策略 Pod重启策略(RestartPolicy)应用于Pod内的所有容器,并且仅在Pod所处的Node上由kubelet进行判断和重启操作。当某个容器异常退出或者健康检查失败时,kubelet将根据RestartPolicy的设置来进行相应操作。 Pod的重启策略包括Always、OnFailure和Never,默认值为Always。 Always:当容器失效时,由kubelet自动重启该容器; OnFailure:当容器终止运行且退出码不为0时,由kubelet自动重启该容器; Never:不论容器运行状态如何,kubelet都不会重启该容器。 kubelet重启失效容器的时间间隔以sync

通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题

筅森魡賤 提交于 2020-12-17 10:55:02
通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题 参考文章: (1)通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题 (2)https://www.cnblogs.com/zhwl/archive/2012/09/18/2690714.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4295823/blog/4812094

用Nginx反向代理实现Web服务器的IPv6发布

蹲街弑〆低调 提交于 2020-12-17 10:10:29
这篇文章原文发布在” 运维日志 ”博客于 2020年03月10日 一、实现思路 由于校园网内服务器的实际流量不大(最大几十兆),利用一台Nginx反向代理服务器完全可以代理校内的所有Web服务器,只需要给反向代理服务器配置IPv6地址即可实现其余Web服务器的IPv6发布。 下图是实际的结构。 二、 实现过程 2.1、服务器IP地址 Nginx反向代理服务器的IPv4地址:210.26.16.30 IPv6地址为:2001:da8:c004:1018::30 域名为:nginx.lzit.edu.cn 内网Web服务器1的地址:210.26.16.123 域名:nic.lzit.edu.cn 内网Web服务器2的地址:210.26.16.124 域名:lib.lzit.edu.cn 内网Web服务器3的地址:…… 内网Web服务器N的地址:…… 2.2、配置DNS 添加AAAA记录和A记录,下图是PowerDNS(支持IPv6、DNSSEC)的配置: 将内网Web服务器的域名指向Nginx反向代理,如下图: 2.3、配置Nginx反向代理 Nginx的安装和配置在之前的博客都已经记录了: Nginx安装: https://blog.51cto.com/lovemjd/2564280 或者校内 运维日志 Nginx与LDAP结合: https://blog.51cto.com

二进制部署K8s集群第22节addons之安装部署Ingress

我是研究僧i 提交于 2020-12-17 08:53:55
1、说明 对于Kubernetes的service,无论是cluster-ip和nodeport均是四层的负载,集群内的服务如何实现七层的负载均衡,这就需要借助于ingress,ingress控制器实现的方式有很多,比如nginx,contour,haproxy,trafik,lstio。几种常用的ingress功能对比和选型可以参考这里www.kubernetes.org.cn/5948.html ingress-nginx是七层的负载均衡器,负责统一管理外部对k8s cluster中的service的请求。主要包含 ingress-nginx-controller:要据用户编写的ingress规则(创建的Ingress的yaml文件),动态的去更改服务的配置文件,并且reload重载使其生效(是自动化的,通过Lua脚本来实现); ingress资源对像:将Nginx的配置抽像成一个Ingress对像 Ingress是K8S的标准资源类型之一,也是一种核心资源,它其实就是一种基于域名和URL路径,把用户的请求转发至指定Service资源的规则 可以将集群外部的请求流量,转发至集群内部,从而实现“服务暴露” Ingre控制器是能够为Ingress资源监听某套接字,然后根扰Ingress规则匹配机制路由调度流量的一个组件 参考链接: https://github.com

022.掌握Pod-Pod升级和回滚

£可爱£侵袭症+ 提交于 2020-12-17 08:52:28
一 deploymentPod升级和回滚 1.1 deployment升级 若Pod是通过Deployment创建的,可以在运行时修改Deployment的Pod定义(spec.template)或镜像名称,并应用到Deployment对象上,系统即可完成Deployment的自动更新操作。 如果在更新过程中发生了错误, 则还可以通过回滚操作恢复Pod的版本。 示例: 1 [root@uk8s-m-01 study]# vi nginx-deployment.yaml 2 apiVersion: apps/v1beta1 3 kind: Deployment 4 metadata: 5 name : nginx-deployment 6 spec: 7 replicas: 3 8 template: 9 metadata: 10 labels: 11 app: nginx 12 spec: 13 containers: 14 - name : nginx 15 image: nginx:1.7.9 16 ports: 17 - containerPort: 80 18 19 [root@uk8s-m-01 study]# kubectl create -f nginx-deployment.yaml 20 [root@uk8s-m-01 study]# kubectl get

kubernetes Pod的升级与回滚

吃可爱长大的小学妹 提交于 2020-12-17 08:26:03
一:Deployment的升级 1.通过kubectl set image命令为Deployment设置新的镜像名称 kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1 2.使用kubectl edit命令修改Deployment的配置 将spec.template.spec.containers[0].images 从nginx:1.7.9 更改为1.9.1; 保存退出后,kubernetes会自动升级镜像。 3.通过kubectl rollout status 可以查看deployment的更新过程 在Deployment的定义中,可以通过spec.strategy指定Pod更新的策略: 1.Recreate(重建 ): 设置spec.strategy.type=Recreate,表示Deployment在更新Pod时,会先杀掉所有正在运行的Pod,然后创建新的Pod. 2.RollingUpdate(滚动更新 ):以滚动更新的方式来逐个更新Pod,可以通过设置spec.strategy.rollingUpdate下的两个参数(maxUnavailable和maxSurge )来控制滚动更新的过程。 通常来说,不鼓励更新Deployment的标签选择器