当前位置: 首页 > news >正文

网站建设和维护费用网页设计代码是怎么加链接

网站建设和维护费用,网页设计代码是怎么加链接,手机制作网站的软件有哪些东西,如何查看网站服务器时间Nginx学习第一章 Nginx概述1.1、Nginx概述1.2、Nginx官网1.3、Nginx用处第二章 Nginx单实例安装2.1、环境说明2.2、安装依赖2.3、Nginx下载2.4、Nginx解压2.5、Nginx安装2.6、Nginx命令2.7、开放防火墙2.8、启动后效果第三章 Nginx正向代理、反向代理3.1、概述3.2、反向代理配置… Nginx学习第一章 Nginx概述1.1、Nginx概述1.2、Nginx官网1.3、Nginx用处第二章 Nginx单实例安装2.1、环境说明2.2、安装依赖2.3、Nginx下载2.4、Nginx解压2.5、Nginx安装2.6、Nginx命令2.7、开放防火墙2.8、启动后效果第三章 Nginx正向代理、反向代理3.1、概述3.2、反向代理配置实例13.2.1、实现效果3.2.2、实现思路3.2.3、实现步骤3.2.4、关闭服务3.3、反向代理配置实例23.3.1、实现效果3.3.2、实现思路3.3.3、实现步骤3.3.4、关闭服务3.4、location指令说明第四章 Nginx负载均衡4.1、概述4.2、实现效果4.3、实现思路4.4、实现步骤4.5、关闭服务4.6、分配策略第五章 Nginx动静分离5.1、概述5.2、实现效果5.3、实现思路5.4、实现步骤5.5、关闭服务第六章 Nginx高可用集群6.1、概述6.2、实现效果6.3、实现思路6.4、实现步骤6.5、关闭服务第七章 Nginx配置详解7.1、整体结构图7.2、配置演示图7.3、全局块7.4、events块7.5、http块7.6、server块7.7、location块第八章 Nginx原理分析8.1、nginx的线程模型8.2、worker的工作模式8.3、如何计算worker连接数8.4、如何计算最大的并发数第一章 Nginx概述 1.1、Nginx概述 Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器特点是占有内存少并发能力强事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好中国大陆使用 Nginx 网站用户有百度、京东、新浪、网易、腾讯、淘宝等。 1.2、Nginx官网 官网地址点击打开 1.3、Nginx用处 Nginx 可以作为静态页面的 web 服务器同时还支持 CGI 协议的动态语言比如 perl、php 等。但是不支持 Java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发性能是其最重要的考量实现上非常注重效率能经受高负载的考验有报告表明能支持高达 50000 个并发连接数。 第二章 Nginx单实例安装 2.1、环境说明 模拟工具VMware-workstation-full-15.5.6-16341506.exe操作系统CentOS-6.10-x86_64-bin-DVD1.iso、纯净安装、桌面版内存大小2GB连接工具SecureCRT 2.2、安装依赖 [rootcaochenlei ~]# yum install -y gcc gcc-c make libtool wget pcre pcre-devel zlib zlib-devel openssl openssl-devel2.3、Nginx下载 [rootcaochenlei ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz2.4、Nginx解压 [rootcaochenlei ~]# tar -zxvf nginx-1.18.0.tar.gz2.5、Nginx安装 [rootcaochenlei ~]# cd nginx-1.18.0 [rootcaochenlei nginx-1.18.0]# ./configure [rootcaochenlei nginx-1.18.0]# make make install注意安装完成后的路径为/usr/local/nginx 2.6、Nginx命令 普通启动服务/usr/local/nginx/sbin/nginx配置文件启动/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf暴力停止服务/usr/local/nginx/sbin/nginx -s stop优雅停止服务/usr/local/nginx/sbin/nginx -s quit检查配置文件/usr/local/nginx/sbin/nginx -t重新加载配置/usr/local/nginx/sbin/nginx -s reload查看相关进程ps -ef | grep nginx 2.7、开放防火墙 [rootcaochenlei ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT [rootcaochenlei ~]# /etc/rc.d/init.d/iptables save iptables将防火墙规则保存到 /etc/sysconfig/iptables[确定]2.8、启动后效果 nginx默认端口为80直接用本机ip地址即可访问。 第三章 Nginx正向代理、反向代理 3.1、概述 正向代理 Nginx 不仅可以做反向代理实现负载均衡。还能用作正向代理来进行上网等功能。 正向代理如果把局域网外的 Internet 想象成一个巨大的资源库则局域网中的客户端要访 问 Internet则需要通过代理服务器来访问这种代理服务就称为正向代理。 简单一点通过代理服务器来访问服务器的过程 就叫 正向代理。 需要在客户端配置代理服务器进行指定网站访问 反向代理 反向代理其实客户端对代理是无感知的因为客户端不需要任何配置就可以访问。 我们只 需要将请求发送到反向代理服务器由反向代理服务器去选择目标服务器获取数据后在返 回给客户端此时反向代理服务器和目标服务器对外就是一个服务器暴露的是代理服务器 地址隐藏了真实服务器 IP 地址。 3.2、反向代理配置实例1 3.2.1、实现效果 打开浏览器在浏览器地址栏输入地址http://www.123.com跳转到 Liunx 系统 Tomcat 主页面中。 3.2.2、实现思路 3.2.3、实现步骤 步骤一修改Windows中的hosts域名映射 复制“ C:\Windows\System32\drivers\etc\hosts ”到桌面右键记事本打开在里边加上以下代码保存然后再复制回去不要直接修改会不让保存 #虚拟机域名 映射的网址 192.168.206.128 www.123.com步骤二修改Nginx中的配置文件并启动 [rootcaochenlei ~]# vi /usr/local/nginx/conf/nginx.confserver {listen 80;server_name 192.168.206.128;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http:127.0.0.1:8080;root html;index index.html index.htm;}[rootcaochenlei ~]# /usr/local/nginx/sbin/nginx步骤三下载Tomcat、解压Tomcat、安装Tomcat、启动Tomcat 注意Tomcat启动需要JDK在这里我没有安装使用系统自带的OpenJDK Runtime Environment (rhel-2.6.14.10.el6-x86_64 u181-b00) 下载 [rootcaochenlei ~]# wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.105/bin/apache-tomcat-7.0.105.tar.gz解压 [rootcaochenlei ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz安装 [rootcaochenlei ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat启动 [rootcaochenlei ~]# /usr/local/tomcat/bin/startup.sh 添加到防火墙 [rootcaochenlei ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT [rootcaochenlei ~]# /etc/rc.d/init.d/iptables save如果关闭请用 [rootcaochenlei ~]# /usr/local/tomcat/bin/shutdown.sh3.2.4、关闭服务 [rootcaochenlei ~]# /usr/local/nginx/sbin/nginx -s quit [rootcaochenlei ~]# /usr/local/tomcat/bin/shutdown.sh3.3、反向代理配置实例2 3.3.1、实现效果 使用 nginx 反向代理根据访问的路径跳转到不同端口的服务中。 3.3.2、实现思路 3.3.3、实现步骤 步骤一修改Nginx的配置文件然后启动 [rootcaochenlei ~]# vi /usr/local/nginx/conf/nginx.confserver {listen 80;server_name 192.168.206.128;#charset koi8-r;#access_log logs/host.access.log main;location ~ /edu/ {proxy_pass http://127.0.0.1:8080;}location ~ /vod/ {proxy_pass http://127.0.0.1:8081;}[rootcaochenlei ~]# /usr/local/nginx/sbin/nginx步骤二拷贝两个Tomcat将其中一个的端口信息修改为8081开启防火墙然后分别启动这两台Tomcat 解压 [rootcaochenlei ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz [rootcaochenlei ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat1[rootcaochenlei ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz [rootcaochenlei ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat2 删除 [rootcaochenlei ~]# rm -f /usr/local/tomcat2/conf/server.xml添加 [rootcaochenlei ~]# vi /usr/local/tomcat2/conf/server.xml?xml version1.0 encodingutf-8? !--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements. See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the License); you may not use this file except in compliance withthe License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an AS IS BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License. -- !-- Note: A Server is not itself a Container, so you may notdefine subcomponents such as Valves at this level.Documentation at /docs/config/server.html-- Server port8006 shutdownSHUTDOWNListener classNameorg.apache.catalina.startup.VersionLoggerListener /!-- Security listener. Documentation at /docs/config/listeners.htmlListener classNameorg.apache.catalina.security.SecurityListener /--!--APR library loader. Documentation at /docs/apr.html --Listener classNameorg.apache.catalina.core.AprLifecycleListener SSLEngineon /!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --Listener classNameorg.apache.catalina.core.JasperListener /!-- Prevent memory leaks due to use of particular java/javax APIs--Listener classNameorg.apache.catalina.core.JreMemoryLeakPreventionListener /Listener classNameorg.apache.catalina.mbeans.GlobalResourcesLifecycleListener /Listener classNameorg.apache.catalina.core.ThreadLocalLeakPreventionListener /!-- Global JNDI resourcesDocumentation at /docs/jndi-resources-howto.html--GlobalNamingResources!-- Editable user database that can also be used byUserDatabaseRealm to authenticate users--Resource nameUserDatabase authContainertypeorg.apache.catalina.UserDatabasedescriptionUser database that can be updated and savedfactoryorg.apache.catalina.users.MemoryUserDatabaseFactorypathnameconf/tomcat-users.xml //GlobalNamingResources!-- A Service is a collection of one or more Connectors that sharea single Container Note: A Service is not itself a Container,so you may not define subcomponents such as Valves at this level.Documentation at /docs/config/service.html--Service nameCatalina!--The connectors can use a shared executor, you can define one or more named thread pools--!--Executor nametomcatThreadPool namePrefixcatalina-exec-maxThreads150 minSpareThreads4/--!-- A Connector represents an endpoint by which requests are receivedand responses are returned. Documentation at :Java HTTP Connector: /docs/config/http.html (blocking non-blocking)Java AJP Connector: /docs/config/ajp.htmlAPR (HTTP/AJP) Connector: /docs/apr.htmlDefine a non-SSL HTTP/1.1 Connector on port 8080--Connector port8081 protocolHTTP/1.1connectionTimeout20000redirectPort8444 /!-- A Connector using the shared thread pool--!--Connector executortomcatThreadPoolport8081 protocolHTTP/1.1connectionTimeout20000redirectPort8444 /--!-- Define an SSL HTTP/1.1 Connector on port 8443This connector uses the BIO implementation that requires the JSSEstyle configuration. When using the APR/native implementation, theOpenSSL style configuration is required as described in the APR/nativedocumentation --!--Connector port8444 protocolorg.apache.coyote.http11.Http11ProtocolmaxThreads150 SSLEnabledtrue schemehttps securetrueclientAuthfalse sslProtocolTLS /--!-- Define an AJP 1.3 Connector on port 8009 --!--Connector protocolAJP/1.3address::1port8010redirectPort8444 /--!-- An Engine represents the entry point (within Catalina) that processesevery request. The Engine implementation for Tomcat stand aloneanalyzes the HTTP headers included with the request, and passes themon to the appropriate Host (virtual host).Documentation at /docs/config/engine.html --!-- You should set jvmRoute to support load-balancing via AJP ie :Engine nameCatalina defaultHostlocalhost jvmRoutejvm1--Engine nameCatalina defaultHostlocalhost!--For clustering, please take a look at documentation at:/docs/cluster-howto.html (simple how to)/docs/config/cluster.html (reference documentation) --!--Cluster classNameorg.apache.catalina.ha.tcp.SimpleTcpCluster/--!-- Use the LockOutRealm to prevent attempts to guess user passwordsvia a brute-force attack --Realm classNameorg.apache.catalina.realm.LockOutRealm!-- This Realm uses the UserDatabase configured in the global JNDIresources under the key UserDatabase. Any editsthat are performed against this UserDatabase are immediatelyavailable for use by the Realm. --Realm classNameorg.apache.catalina.realm.UserDatabaseRealmresourceNameUserDatabase//RealmHost namelocalhost appBasewebappsunpackWARstrue autoDeploytrue!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --!--Valve classNameorg.apache.catalina.authenticator.SingleSignOn /--!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using patterncommon --Valve classNameorg.apache.catalina.valves.AccessLogValve directorylogsprefixlocalhost_access_log. suffix.txtpattern%h %l %u %t quot;%rquot; %s %b //Host/Engine/Service /Server开启Tomcat2的防火墙 [rootcaochenlei ~]# /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT [rootcaochenlei ~]# /etc/rc.d/init.d/iptables save在每一个Tomcat的webapps中创建一个文件夹和一个a.html文件 [rootcaochenlei ~]# mkdir -p /usr/local/tomcat1/webapps/edu [rootcaochenlei ~]# echo h1This is 8080 Port/h1 /usr/local/tomcat1/webapps/edu/a.html[rootcaochenlei ~]# mkdir -p /usr/local/tomcat2/webapps/vod [rootcaochenlei ~]# echo h1This is 8081 Port/h1 /usr/local/tomcat2/webapps/vod/a.html启动 [rootcaochenlei ~]# /usr/local/tomcat1/bin/startup.sh [rootcaochenlei ~]# /usr/local/tomcat2/bin/startup.sh步骤三打开本机浏览器进行测试 在浏览器输入 http://192.168.206.128/edu/a.html 在浏览器输入 http://192.168.206.128/vod/a.html 3.3.4、关闭服务 [rootcaochenlei ~]# /usr/local/nginx/sbin/nginx -s quit [rootcaochenlei ~]# /usr/local/tomcat1/bin/shutdown.sh [rootcaochenlei ~]# /usr/local/tomcat2/bin/shutdown.sh3.4、location指令说明 描述该指令用于匹配URL 语法 用于不含正则表达式的 uri 前要求请求字符串与 uri 严格匹配如果匹配 成功就停止继续向下搜索并立即处理该请求。~用于表示 uri 包含正则表达式并且区分大小写。~*用于表示 uri 包含正则表达式并且不区分大小写。^~用于不含正则表达式的 uri 前要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后立即使用此 location 处理请求而不再使用 location 块中的正则 uri 和请求字符串做匹配。 注意如果 uri 包含正则表达式则必须要有 ~ 或者 ~* 标识。 第四章 Nginx负载均衡 4.1、概述 客户端发送多个请求到服务器服务器处理请求有一些可能要与数据库进行交互服务器处理完毕后再将结果返回给客户端。 这种架构模式对于早期的系统相对单一并发请求相对较少的情况下是比较适合的成本也低。但是随着信息数量的不断增长访问量和数据量的飞速增长以及系统业务的复杂度增加这种架构会造成服务器相应客户端的请求日益缓慢并发量特别大的时候还容易造成服务器直接崩溃。很明显这是由于服务器性能的瓶颈造成的问题那么如何解决这种情况呢 我们首先想到的可能是升级服务器的配置比如提高 CPU 执行频率加大内存等提高机器的物理性能来解决此问题但是我们知道摩尔定律的日益失效硬件的性能提升已经不能满足日益提升的需求了。最明显的一个例子天猫双十一当天某个热销商品的瞬时访问量是极其庞大的那么类似上面的系统架构将机器都增加到现有的顶级物理配置都是不能够满足需求的。那么怎么办呢 上面的分析我们去掉了增加服务器物理配置来解决问题的办法也就是说纵向解决问题的办法行不通了那么横向增加服务器的数量呢这时候集群的概念产生了单个服务器解决不了我们增加服务器的数量然后将请求分发到各个服务器上将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上将负载分发到不同的服务器也就是我们所说的负载均衡。 4.2、实现效果 浏览器地址栏输入地址 http://192.168.206.128/edu/a.html负载均衡效果将请求平均到 8080 和 8081 端口中。 4.3、实现思路 4.4、实现步骤 第一步修改Nginx的配置文件 [rootcaochenlei ~]# vi /usr/local/nginx/conf/nginx.confupstream myserver {server 192.168.206.128:8080;server 192.168.206.128:8081;}server {listen 80;server_name 192.168.206.128;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://myserver;}[rootcaochenlei ~]# /usr/local/nginx/sbin/nginx步骤二在Tomcat2的webapps文件夹中创建一个edu文件夹在里边创建a.html 创建 [rootcaochenlei ~]# mkdir -p /usr/local/tomcat2/webapps/edu [rootcaochenlei ~]# echo h1This is 8081 Port/h1 /usr/local/tomcat2/webapps/edu/a.html启动 [rootcaochenlei ~]# /usr/local/tomcat1/bin/startup.sh [rootcaochenlei ~]# /usr/local/tomcat2/bin/startup.sh步骤三测试效果 打开IE浏览器输入http://192.168.206.128/edu/a.html 打开IE浏览器输入 http://192.168.206.128/edu/a.html 4.5、关闭服务 [rootcaochenlei ~]# /usr/local/nginx/sbin/nginx -s quit [rootcaochenlei ~]# /usr/local/tomcat1/bin/shutdown.sh [rootcaochenlei ~]# /usr/local/tomcat2/bin/shutdown.sh4.6、分配策略 轮询默认 每个请求按时间顺序逐一分配到不同的后端服务器如果后端服务器 down 掉能自动剔除。 weight weight 代表权重默认为1权重越高被分配的客户端越多weight 和访问比率成正比用于后端服务器性能不均的情况。 例如 ip_hash 每个请求按访问 ip 的 hash 结果分配这样每个访客固定访问一个后端服务器可以解决 session 的问题。 例如 fair第三方 按后端服务器的响应时间来分配请求响应时间短的优先分配。例如 第五章 Nginx动静分离 5.1、概述 Nginx 动静分离简单来说就是把动态跟静态请求分开不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开可以理解成使用 Nginx 处理静态页面Tomcat 处理动态页面。动静分离从目前实现角度来讲大致分为两种一种是纯粹把静态文件独立成单独的域名放在独立的服务器上也是目前主流推崇的方案另外一种方法就是动态跟静态文件混合在一起发布通过 Nginx 来分开。 5.2、实现效果 如果不设置动静分离默认会通过Nginx的反向代理去找Tomcat对应的资源现在我们在根目录下创建一个/data/www/文件夹里边放上静态资源比如一个html页面在8080的那台Tomcat的webapps下也创建一个www目录同样是放一个静态资源当输入这个静态资源的请求时访问到的是/data/www中的数据 5.3、实现思路 5.4、实现步骤 第一步创建静态资源文件为了对比tomcat中也放一个 [rootcaochenlei ~]# mkdir -p /data/www/ [rootcaochenlei ~]# mkdir -p /usr/local/tomcat/webapps/ROOT/www [rootcaochenlei ~]# echo h1/data/www/a.html/h1 /data/www/a.html [rootcaochenlei ~]# echo h1/usr/local/tomcat/webapps/ROOT/www/a.html/h1 /usr/local/tomcat/webapps/ROOT/www/a.html第二步修改Nginx的配置文件 [rootcaochenlei ~]# vi /usr/local/nginx/conf/nginx.confserver {listen 80;server_name 192.168.206.128;#charset koi8-r;#access_log logs/host.access.log main;location /www/ {root /data/;index index.html index.htm;}[rootcaochenlei ~]# /usr/local/nginx/sbin/nginx步骤三启动Tomcat [rootcaochenlei ~]# /usr/local/tomcat/bin/startup.sh第四步启动浏览器进行测试 打开浏览器输入 http://192.168.206.128/www/a.html 5.5、关闭服务 [rootcaochenlei ~]# /usr/local/nginx/sbin/nginx -s quit [rootcaochenlei ~]# /usr/local/tomcat/bin/shutdown.sh第六章 Nginx高可用集群 6.1、概述 前边我们学习了反向代理、负载均衡、动静分离但试想一下如果Nginx挂掉了那么服务肯定就没有了有没有一种解决方案可以保证Nginx挂掉了服务也可以照常使用答案肯定是有的这就是我们接下来要学习的高可用集群采用的是一主一备的模式当主节点Nginx挂掉备份服务器Nginx立刻跟上这样就保证了服务的高可用性。 6.2、实现效果 当主节点Nginx挂掉以后服务依然可以正常使用。 6.3、实现思路 6.4、实现步骤 第一步修改主节点上的Nginx的配置文件 [rootcaochenlei ~]# vi /usr/local/nginx/conf/nginx.confupstream myserver {server 192.168.206.128:8080;server 192.168.206.128:8081;}server {listen 80;server_name 192.168.206.128;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://myserver;}[rootcaochenlei ~]# /usr/local/nginx/sbin/nginx第二步启动主节点上的两台Tomcat [rootcaochenlei ~]# /usr/local/tomcat1/bin/startup.sh [rootcaochenlei ~]# /usr/local/tomcat2/bin/startup.sh第三步安装主节点上的keepalived 安装keepalived [rootcaochenlei ~]# yum install -y keepalived删除keepalived的配置文件 [rootcaochenlei ~]# rm -f /etc/keepalived/keepalived.conf新增keepalived的配置文件 [rootcaochenlei ~]# vi /etc/keepalived/keepalived.conf注意一定要注意router_id、state、interface的值我就在这里踩坑了 ! Configuration File for keepalivedglobal_defs {notification_email {acassenfirewall.locfailoverfirewall.locsysadminfirewall.loc}notification_email_from Alexandre.Cassenfirewall.loc#邮件服务器通知地址暂不配置默认即可smtp_server 192.168.200.1#邮件服务器超时时间暂不配置默认即可smtp_connect_timeout 30#当前虚拟机的IP地址router_id 192.168.206.128 }vrrp_script Monitor_Nginx {script /etc/keepalived/nginx_check.sh #检测脚本执行的路径interval 2 #检测脚本执行的间隔weight 2 #检测脚本执行的权重 }vrrp_instance VI_1 {state MASTER #标识这个机器是MASTER还是BACKUPinterface eth0 #当前机器的网卡名称 virtual_router_id 51 #虚拟路由的编号主备必须一致priority 100 #主、备机取不同的优先级主机值较大备份机值较小advert_int 1 #(VRRP Multicast广播周期秒数)authentication {auth_type PASS #(VRRP认证方式)auth_pass 1111 #(密码)}track_script {Monitor_Nginx #(调用nginx进程检测脚本)}virtual_ipaddress {192.168.206.50 #虚拟IP地址} } 新增keepalived的检测脚本 [rootcaochenlei ~]# vi /etc/keepalived/nginx_check.sh#!/bin/bash if [ $(ps -ef | grep nginx: master process | grep -v grep ) ]thenkillall keepalived fi启动keepalived服务 [rootcaochenlei ~]# service keepalived start第五步测试两个Nginx是否能正确的将请求分发到不同的Tomcat负载均衡 打开IE浏览器输入http://192.168.206.128/edu/a.html 按住F5多刷新两遍看看会不会将请求转发到Tomcat2中去 打开IE浏览器输入http://192.168.206.129/edu/a.html 打开IE浏览器输入http://192.168.206.50/edu/a.html测试虚拟IP能不能实现负载均衡 按住F5多刷新两遍看看会不会将请求转发到Tomcat2中去 经过测试我们发现一主一从、虚拟IP都能正常的进行负载均衡接下来我们测试主节点挂掉从节点会不会自动顶上打开主节点机器查看相关进程杀死Nginx然后打开浏览器输入配置的虚拟IP地址http://192.168.206.50/edu/a.html发现负载均衡的效果还在说明配置成功了 6.5、关闭服务 主机节点 [rootcaochenlei ~]# service keepalived stop [rootcaochenlei ~]# /usr/local/nginx/sbin/nginx -s quit [rootcaochenlei ~]# /usr/local/tomcat1/bin/shutdown.sh [rootcaochenlei ~]# /usr/local/tomcat2/bin/shutdown.sh备份节点 [rootcaochenlei ~]# service keepalived stop [rootcaochenlei ~]# /usr/local/nginx/sbin/nginx -s quit第七章 Nginx配置详解 Nginx是通过配置文件来做到各个功能的实现的。Nginx的配置文件的格式非常合乎逻辑学习这种格式以及如何使用这种每个部分是基础这将帮助我们有可能手工创建一个配置文件。 7.1、整体结构图 7.2、配置演示图 7.3、全局块 配置影响nginx全局的指令。主要包括 配置运行Nginx服务器用户组worker process数Nginx进程PID存放路径错误日志的存放路径一个nginx进程打开的最多文件描述符数目 例如 #配置worker进程运行用户和用户组nobody也是一个linux用户一般用于启动程序没有密码 user nobody; #user www www;#配置工作进程数目根据硬件调整通常等于CPU数量或者2倍于CPU数量 worker_processes 1;#配置全局错误日志及类型[debug | info | notice | warn | error | crit]默认是error error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#配置进程pid文件 pid logs/nginx.pid;#一个nginx进程打开的最多文件描述符数目理论值应该是最多打开文件数系统的值ulimit -n与nginx进程数相除但是nginx分配请求并不均匀所以建议与ulimit -n的值保持一致。 worker_rlimit_nofile 65535;7.4、events块 配置影响nginx服务器或与用户的网络连接。主要包括 事件驱动模型的选择最大连接数的配置 例如 #参考事件模型use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; #epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型如果跑在FreeBSD上面就用kqueue模型。 use epoll;#单个进程最大连接数最大连接数连接数*进程数 worker_connections 65535;7.5、http块 可以嵌套多个server配置代理缓存日志定义等绝大多数功能和第三方模块的配置。主要包括 定义MIMI-Type自定义服务日志允许sendfile方式传输文件连接超时时间单连接请求数上限 例如 #常见的一些基础配置 include mime.types; #文件扩展名与文件类型映射表 default_type application/octet-stream; #默认文件类型 charset utf-8; #默认编码 server_names_hash_bucket_size 128; #服务器名字的hash表大小 client_header_buffer_size 32k; #上传文件大小限制 large_client_header_buffers 4 64k; #设定请求缓冲 client_max_body_size 8m; #设定请求缓冲 sendfile on; #开启高效文件传输模式对于普通应用设为on如果用来进行下载等应用磁盘IO重负载应用可设置为off以平衡磁盘与网络I/O处理速度降低系统的负载。注意如果图片显示不正常把这个改成off。 autoindex on; #开启目录列表访问合适下载服务器默认关闭。 tcp_nopush on; #防止网络阻塞 tcp_nodelay on; #防止网络阻塞 keepalive_timeout 120; #长连接超时时间单位是秒#FastCGI相关参数是为了改善网站的性能减少资源占用提高访问速度。 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k;#gzip模块设置 gzip on; #开启gzip压缩输出 gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 4 16k; #压缩缓冲区 gzip_http_version 1.0; #压缩版本默认1.1前端如果是squid2.5请使用1.0 gzip_comp_level 2; #压缩等级 gzip_types text/plain application/x-javascript text/css application/xml; #压缩类型 gzip_vary on; #增加响应头Vary: Accept-Encoding limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用7.6、server块 配置虚拟主机的相关参数一个http中可以有多个server。主要包括 配置网络监听配置https服务基于名称的虚拟主机配置基于IP的虚拟主机配置 例如 #虚拟主机的常见配置 server {listen 80; #配置监听端口server_name localhost; #配置服务名charset utf-8; #配置字符集access_log logs/host.access.log main; #配置本虚拟主机的访问日志location / {root html; #root是配置服务器的默认网站根目录位置默认为nginx安装主目录下的html目录index index.html index.htm; #配置首页文件的名称}error_page 404 /404.html; #配置404错误页面error_page 500 502 503 504 /50x.html; #配置50x错误页面 }#配置https服务安全的网络传输协议加密传输端口443 server {listen 443 ssl;server_name localhost;ssl_certificate cert.pem;ssl_certificate_key cert.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;} }7.7、location块 配置请求的路由以及各种页面的处理情况。主要包括 请求根目录配置更改网站默认首页配置location的URI 例如 root html; #root是配置服务器的默认网站根目录位置默认为nginx安装主目录下的html目录 index index.html index.htm; #配置首页文件的名称proxy_pass http://127.0.0.1:88; #反向代理的地址 proxy_redirect off; #是否开启重定向 #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; #以下是一些反向代理的配置可选。 client_max_body_size 10m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数 proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时) proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 90; #连接成功后后端服务器响应时间(代理接收超时) proxy_buffer_size 4k; #设置代理服务器nginx保存用户头信息的缓冲区大小 proxy_buffers 4 32k; #proxy_buffers缓冲区网页平均在32k以下的设置 proxy_busy_buffers_size 64k; #高负荷下缓冲大小proxy_buffers*2 proxy_temp_file_write_size 64k; #设定缓存文件夹大小location的URI 描述该指令用于匹配URL 语法 通配符 用于不含正则表达式的 uri 前要求请求字符串与 uri 严格匹配如果匹配成功就停止继续向下搜索并立即处理该请求。~ 用于表示 uri 包含正则表达式并且区分大小写。~* 用于表示 uri 包含正则表达式并且不区分大小写。^~ 用于不含正则表达式的 uri 前要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后立即使用此 location 处理请求而不再使用 location 块中的正则 uri 和请求字符串做匹配。 注意如果 uri 包含正则表达式则必须要有 ~ 或者 ~* 标识。 第八章 Nginx原理分析 8.1、nginx的线程模型 Nginx默认采用多进程工作方式Nginx启动后会运行一个master进程和多个worker进程。其中master充当整个进程组与用户的交互接口同时对进程进行监护管理worker进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。worker用来处理基本的网络事件worker之间是平等的他们共同竞争来处理来自客户端的请求。 nginx的进程模型如图所示 8.2、worker的工作模式 worker对于连接是采用争抢的模式谁先抢到就先交给谁处理如果想要重新更新配置由于已经抢到任务的worker不会参与争抢那些空闲的worker就会去争抢连接拿到连接后会自动更新配置信息当那些有任务的worker完成任务后会自动更新配置这样就实现了无缝热部署。由于每个worker是独立的进程如果有其中的一个worker出现问题并不会影响其它worker继续进行争抢在实现请求的过程不会造成服务中断建议worker数和服务器的cpu数相等是最为适宜的。 8.3、如何计算worker连接数 如果只访问nginx的静态资源一个发送请求会占用了 woker 的 2 个连接数而如果是作为反向代理服务器一个发送请求会占用了 woker 的 4 个连接数 8.4、如何计算最大的并发数 如果只访问nginx的静态资源最大并发数量应该是 worker_connections * worker_processes / 2而如果是作为反向代理服务器最大并发数量应该是worker_connections * worker_processes / 4
文章转载自:
http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn
http://www.morning.pgrsf.cn.gov.cn.pgrsf.cn
http://www.morning.jykzy.cn.gov.cn.jykzy.cn
http://www.morning.jyznn.cn.gov.cn.jyznn.cn
http://www.morning.wrqw.cn.gov.cn.wrqw.cn
http://www.morning.ylljn.cn.gov.cn.ylljn.cn
http://www.morning.ttrdr.cn.gov.cn.ttrdr.cn
http://www.morning.nwgkk.cn.gov.cn.nwgkk.cn
http://www.morning.rhpy.cn.gov.cn.rhpy.cn
http://www.morning.mmtbn.cn.gov.cn.mmtbn.cn
http://www.morning.cjxqx.cn.gov.cn.cjxqx.cn
http://www.morning.ltqzq.cn.gov.cn.ltqzq.cn
http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn
http://www.morning.lpsjs.com.gov.cn.lpsjs.com
http://www.morning.rynqh.cn.gov.cn.rynqh.cn
http://www.morning.qbfwb.cn.gov.cn.qbfwb.cn
http://www.morning.pbmg.cn.gov.cn.pbmg.cn
http://www.morning.wcyr.cn.gov.cn.wcyr.cn
http://www.morning.lmmyl.cn.gov.cn.lmmyl.cn
http://www.morning.mtsck.cn.gov.cn.mtsck.cn
http://www.morning.kczkq.cn.gov.cn.kczkq.cn
http://www.morning.mlffg.cn.gov.cn.mlffg.cn
http://www.morning.gthgf.cn.gov.cn.gthgf.cn
http://www.morning.hffjj.cn.gov.cn.hffjj.cn
http://www.morning.zcqtr.cn.gov.cn.zcqtr.cn
http://www.morning.jtqxs.cn.gov.cn.jtqxs.cn
http://www.morning.rfhmb.cn.gov.cn.rfhmb.cn
http://www.morning.zxhhy.cn.gov.cn.zxhhy.cn
http://www.morning.mjkqj.cn.gov.cn.mjkqj.cn
http://www.morning.kjkml.cn.gov.cn.kjkml.cn
http://www.morning.zxzgr.cn.gov.cn.zxzgr.cn
http://www.morning.qflwp.cn.gov.cn.qflwp.cn
http://www.morning.pzbjy.cn.gov.cn.pzbjy.cn
http://www.morning.rjmd.cn.gov.cn.rjmd.cn
http://www.morning.chongzhanggui.cn.gov.cn.chongzhanggui.cn
http://www.morning.wqpr.cn.gov.cn.wqpr.cn
http://www.morning.gmwqd.cn.gov.cn.gmwqd.cn
http://www.morning.lmhh.cn.gov.cn.lmhh.cn
http://www.morning.mrfr.cn.gov.cn.mrfr.cn
http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn
http://www.morning.svrud.cn.gov.cn.svrud.cn
http://www.morning.fktlg.cn.gov.cn.fktlg.cn
http://www.morning.hflrz.cn.gov.cn.hflrz.cn
http://www.morning.qnzk.cn.gov.cn.qnzk.cn
http://www.morning.gwqcr.cn.gov.cn.gwqcr.cn
http://www.morning.rdnpg.cn.gov.cn.rdnpg.cn
http://www.morning.fplwz.cn.gov.cn.fplwz.cn
http://www.morning.rknsp.cn.gov.cn.rknsp.cn
http://www.morning.rxfjg.cn.gov.cn.rxfjg.cn
http://www.morning.lqffg.cn.gov.cn.lqffg.cn
http://www.morning.gwgjl.cn.gov.cn.gwgjl.cn
http://www.morning.rnygs.cn.gov.cn.rnygs.cn
http://www.morning.gtdf.cn.gov.cn.gtdf.cn
http://www.morning.skrxp.cn.gov.cn.skrxp.cn
http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn
http://www.morning.gbpanel.com.gov.cn.gbpanel.com
http://www.morning.llyjx.cn.gov.cn.llyjx.cn
http://www.morning.xkhhy.cn.gov.cn.xkhhy.cn
http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn
http://www.morning.bzkgn.cn.gov.cn.bzkgn.cn
http://www.morning.yrdt.cn.gov.cn.yrdt.cn
http://www.morning.sypzg.cn.gov.cn.sypzg.cn
http://www.morning.bksbx.cn.gov.cn.bksbx.cn
http://www.morning.bpmdz.cn.gov.cn.bpmdz.cn
http://www.morning.ppllj.cn.gov.cn.ppllj.cn
http://www.morning.ffhlh.cn.gov.cn.ffhlh.cn
http://www.morning.cwpny.cn.gov.cn.cwpny.cn
http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn
http://www.morning.dqcpm.cn.gov.cn.dqcpm.cn
http://www.morning.xstfp.cn.gov.cn.xstfp.cn
http://www.morning.ntcmrn.cn.gov.cn.ntcmrn.cn
http://www.morning.wmhqd.cn.gov.cn.wmhqd.cn
http://www.morning.zqcgt.cn.gov.cn.zqcgt.cn
http://www.morning.fpxyy.cn.gov.cn.fpxyy.cn
http://www.morning.qmzwl.cn.gov.cn.qmzwl.cn
http://www.morning.itvsee.com.gov.cn.itvsee.com
http://www.morning.yfmxn.cn.gov.cn.yfmxn.cn
http://www.morning.clybn.cn.gov.cn.clybn.cn
http://www.morning.bxgpy.cn.gov.cn.bxgpy.cn
http://www.morning.mslhq.cn.gov.cn.mslhq.cn
http://www.tj-hxxt.cn/news/234492.html

相关文章:

  • 成都网站建设常凡云找室内设计师上哪个网站
  • 开网店卖什么最赚钱福州高级seo经理
  • 网站轮播图制作南通电商网站建设
  • 富阳网站用什么做网站比较好
  • 网站备案 太烦做卖东西的网站多少钱
  • 某服装公司网站建设论文哪里可以制作网站
  • 书画展示网站模板江西省建设局网站
  • 广告网站留电话整人电商网站建设的关键
  • 深圳企业网站设嵌入式开发板哪款好
  • 设计一个电商网站的首页巴中企业网站建设
  • 沈阳网站建设专家浙江融兴建设有限公司网站
  • 旅游公网站如何做全网营销
  • 宁波网站建设制作方法国外免费源码共享网站
  • 建设好网站怎么付费推广喀什做网站
  • 5建网站求个网站或者软件
  • 购物网站建设的必要性共同建设网站协议
  • 国外直播做游戏视频网站沈阳全网推广公司哪家好
  • s什么网站可以接单做设计赚钱网站建设等级定级
  • 手机网站建设推广方案ppt模板建设银行网站模板
  • 找别人做网站一般注意什么江门模板建站定制网站
  • 公司门户网站什么意思企业网站app
  • 南通做网站需要多少钱子网站建设的好处
  • 广东省外贸网站建设哈尔滨网站优化排名
  • 网站流量一直下降在哪个网站可以自助建站
  • php网站建设详细教程wordpress安装主题提示错误
  • 大量网站开发视频 文档VIP资源旅行网站开发需求说明书
  • 沈阳企业网站建设公司济南正规做网站公司
  • 做网站源码网站泛解析
  • 长沙教育网站开发淡蓝黑色大气企业网站模板
  • 企业网站建设文案案例那些做兼职的小网站