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

网站建设实施方案/旺道seo推广系统怎么收费

网站建设实施方案,旺道seo推广系统怎么收费,网站开发维护者,网站域名改了以后新域名301前言:Nginx常常被我们用来做反向代理或者负载均衡服务器,在微服务架构里也在API网关之上用作网关集群的负载均衡。 一、Nginx简介 1.1、什么是Nginx Nginx 是一个高性能的 HTTP 和反向代理Web服务器,特点是占用内存少,并发能力强…

前言:Nginx常常被我们用来做反向代理或者负载均衡服务器,在微服务架构里也在API网关之上用作网关集群的负载均衡。

 一、Nginx简介

1.1、什么是Nginx

Nginx 是一个高性能的 HTTP 和反向代理Web服务器,特点是占用内存少,并发能力强。事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

Nginx是伊戈尔·赛索耶夫为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告 Nginx 能支持高达 50000 个并发连接数。

1.2、Nginx常用功能

①反向代理

正向代理:局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被称为正向代理。

反向代理:客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,然后再返回到客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址

②负载均衡

普通请求和响应过程:客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕之后,再将结果返回给客户端。但是随着信息数量增长,访问量和数据量飞速增长,普通架构无法满足现在的需求。我们首先想到的是升级服务器配置,可以由于摩尔定律的日益失效,单纯从硬件提升性能已经逐渐不可取了,怎么解决这种需求呢?

图片

我们可以增加服务器的数量,构建集群,将请求分发到各个服务器上,将原来请求集中到单个服务器的情况改为请求分发到多个服务器,也就是我们说的负载均衡。 假设有 15 个请求发送到代理服务器,那么由代理服务器根据服务器数量,平均分配,每个服务器处理 5 个请求,这个过程就叫做负载均衡

③ 动静分离

为了加快网站的解析速度,可以把动态页面和静态页面交给不同的服务器来解析,加快解析的速度,降低由单个服务器的压力


二、Nginx安装和常用命令

2.1、Linux下安装Nginx

centos7下安装nginx

centOS7安装nginx及nginx配置

安装完成后,去usr/local/nginx/sbin下,执行./nginx启动Nginx,然后浏览器输入ip地址访问就可以看到如下画面:

2.2、Nginx常用命令

查看版本

./nginx -v

启动

./nginx

关闭(有两种方式,推荐使用 ./nginx -s quit)

 ./nginx -s stop./nginx -s quit

检查配置文化nginx.conf格式的正确性命令

./nginx -t

重新加载 nginx 配置

./nginx -s reload

三、Nginx配置文件详解

安装好Nginx后,打开conf文件夹的nginx.conf文件,Nginx服务器的基础配置,默认的配置也存放在此。

默认的Nginx 配置文件 nginx.conf 内容如下

#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##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;#    }#}}

3.1、配置文件结构组成

...              #全局块events {         #events块...
}http      #http块
{...   #http全局块server        #server块{ ...       #server全局块location [PATTERN]   #location块{...}location [PATTERN] {...}}server{...}...     #http全局块
}

全局块:从配置文件开始到 events 块之间,主要是设置一些影响 nginx 服务器整体运行的配置指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

http块:作为web服务器,http模块是nginx最核心的一个模块,配置项也是比较多的,项目中会设置到很多的实际业务场景。可以嵌套多个server,配置代理,负载均衡、缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

server块:配置虚拟主机的相关参数,一个http中可以有多个server。

location块:配置请求的路由,以及各种页面的处理情况。

3.2、location 指令说明

  • 该语法用来匹配 url,语法如下

location\[ = | ~ | ~\* | ^~\] url{}
  1. =: 用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求

  2. ~:用于表示 url 包含正则表达式,并且区分大小写。

  3. ~*:用于表示 url 包含正则表达式,并且不区分大小写

  4. ^~:用于不含正则表达式的 url 前,要求 ngin 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配

  5. 如果有 url 包含正则表达式,不需要有~ 开头标识

  6. ^~:表示匹配时,只需开头部分匹配上即可,如 location ^~ /uri/ {…} ,这时只要以/uri/开头的地址都会匹配上。
    @:表示nginx内部的重定向,不直接处理用户的请求,如 location @error {…} , 这时可以另一个location内部,
    重定向到@error路径,如 location ~ /test {error_page 404 @error}。

# 通用匹配,任何请求都会匹配到
location / {...
}--------------------------------------------------
# 严格区分大小写,匹配以.php结尾的都走这个location    
location ~ \.php$ {...
}# 严格区分大小写,匹配以.jsp结尾的都走这个location 
location ~ \.jsp$ {...
}# 不区分大小写匹配,只要用户访问.jpg,gif,png,js,css 都走这条location
location ~* .*\.(jpg|gif|png|js|css)$ {...
}# 不区分大小写匹配
location ~* "\.(sql|bak|tgz|tar.gz|.git)$" {...
}

3.3、配置文件示例,作为理解

每个指令必须有分号结束,在 nginx.conf 的注释符号为:#

#运行用户
user www-data;    
#启动进程,通常设置成和cpu的数量相等(允许生成的进程数,默认为1)
worker_processes  1;#全局错误日志及PID文件
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;#工作模式及连接数上限
events {use   epoll;             #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能worker_connections  1024;#单个后台worker process进程的最大并发链接数# multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为offaccept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
}#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {#设定mime类型,类型由mime.type文件定义include       /etc/nginx/mime.types;default_type  application/octet-stream;#设定日志格式access_log    /var/log/nginx/access.log;#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.sendfile        on;#tcp_nopush     on;#连接超时时间#keepalive_timeout  0;keepalive_timeout  65;tcp_nodelay        on;#开启gzip压缩gzip  on;gzip_disable "MSIE [1-6]\.(?!.*SV1)";#设定请求缓冲client_header_buffer_size    1k;large_client_header_buffers  4 4k;include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;#设定负载均衡的服务器列表upstream mysvr {#weigth参数表示权值,权值越高被分配到的几率越大#本机上的Squid开启3128端口server 192.168.8.1:3128 weight=5;server 192.168.8.2:80  weight=1;server 192.168.8.3:80  weight=6;}server {#侦听80端口listen       80;#定义使用www.xx.com访问server_name  www.xx.com;#设定本虚拟主机的访问日志access_log  logs/www.xx.com.access.log  main;#默认请求进行负载均衡location / {root   /root;      #定义服务器的默认网站根目录位置index index.php index.html index.htm;   #定义首页索引文件的名称proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表deny 127.0.0.2;  #拒绝的ipallow 172.18.5.54; #允许的ip           }# 定义错误提示页面error_page   500 502 503 504 /50x.html;  location = /50x.html {root   /root;}#静态文件,nginx自己处理location ~ ^/(images|javascript|js|css|flash|media|static)/ {root /var/www/virtual/htdocs;#过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。expires 30d;}#设定查看Nginx状态的地址location /NginxStatus {stub_status            on;access_log              on;auth_basic              "NginxStatus";auth_basic_user_file  conf/htpasswd;}#禁止访问 .htxxx 文件location ~ /\.ht {deny all;}
}}

upstream模块:主要负责负载均衡的配置,定义上游服务器集群,在反向代理中proxy_pass使用,用于负载均衡。通过默认的轮询调度方式来分发请求到后端服务器。

惊群现象:一个网路连接到来,多个睡眠的进程被同时叫醒,但只有一个进程能获得链接,这样会影响系统性能。


参考链接:

搞懂Nginx一篇文章就够了

Nginx配置文件详细说明

Nginx 常用配置清单

nginx集群搭建方案(教你如何搭建nginx集群)

http://www.lbrq.cn/news/1305343.html

相关文章:

  • 依兰县建设局网站/it培训机构排名及学费
  • 巨人时时彩网站开发/淘宝关键词工具
  • 浏览网站时弹出的广告是谁给做的/直通车推广怎么做
  • 网站分析报告范文2000/餐饮营销方案100例
  • 深圳微信推广平台/官网关键词优化价格
  • 网站和做空间/佛山网络推广平台
  • 用织梦做网站能练技术吗/软文接单平台
  • 做网站多少钱/seo排名优化厂家
  • 给自己企业怎么做网站/网页设计学生作业模板
  • 青岛网站优化公司/小果seo实战培训课程
  • 商品定制首页/郑州关键词优化费用
  • 专门做推广的网站吗/网页设计软件有哪些
  • 党校网站建设整改/北京seo网络优化师
  • 网站制作教程下载/建站abc官方网站
  • 基于云平台网站群建设/微博推广技巧
  • 开发比较实用的软件/长沙关键词优化方法
  • wordpress 一键生成/优化大师的使用方法
  • 无锡网络推广运营公司/广东seo排名
  • 深圳做网站网络营销公司排名/西安百度网站快速排名
  • 武汉做鸭兼职网站/网站竞价推广托管公司
  • 兼职做一篇微信的网站/怎么做
  • 手机上自己做网站/百度快照怎么发布
  • 化工行业网站模板/免费的关键词挖掘工具
  • 手机产品展示网站模板/商务软文写作300字
  • 网站建设官网怎么收费/新站seo外包
  • 女朋友在互联网公司做网站/建设网站
  • python源码下载/国外网站seo免费
  • 长春长春网站建设/广告联盟大全
  • wordpress图标字体不显示不出来/百度seo收录
  • 网站文章图片如何跳转/关键词研究工具
  • 6 种无线传输照片从安卓到 Mac 的方法
  • Paimon 动态分桶
  • Matlab2025a软件安装|详细安装步骤➕安装文件|附下载文件
  • 前端-列表fixed冻结的列 横向滚动条拖不动
  • x86版Ubuntu的容器中运行ARM版Ubuntu
  • rocky8 --Elasticsearch+Logstash+Filebeat+Kibana部署【7.1.1版本】