汕头网站制作找哪里,可以为自己的小说建设网站,网络推广培训班培训机构,灯塔网站建设2019独角兽企业重金招聘Python工程师标准 一#xff1a;Nginx介绍 1.Nginx简介#xff1a;nginx [engine x]是一个俄罗斯人编写的HTTP和反向代理服务器#xff0c;另外它也可以作为邮件代理服务器。 它已经在众多流量很大的俄罗斯网站上使用了很长时间#x… 2019独角兽企业重金招聘Python工程师标准 一Nginx介绍 1.Nginx简介nginx [engine x]是一个俄罗斯人编写的HTTP和反向代理服务器另外它也可以作为邮件代理服务器。 它已经在众多流量很大的俄罗斯网站上使用了很长时间这些网站包括Yandex、Mail.Ru、VKontakte以及Rambler。据Netcraft统计在2012年8月份世界上最繁忙的网站中有11.48%使用Nginx作为其服务器或者代理服务器。部分成功案例请见 Netflix Wordpress.com FastMail.FM。 2.整体采用模块化设计是nginx的一个重大特点甚至http服务器核心功能也是一个模块。要注意的是nginx的模块是静态的添加和删除模块都要对nginx进行重新编译这一点与Apache的动态模块完全不同。 3.Nginx作为负载均衡服务器: Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务. Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多. 。Nginx可作为7层负载均衡服务器来使用。 4.Nginx与PHP集成自PHP-5.3.3起PHP-FPM加入到了PHP核心编译时加上--enable-fpm即可提供支持。 PHP-FPM以守护进程在后台运行Nginx响应请求后自行处理静态请求PHP请求则经过fastcgi_pass交由PHP-FPM处理处理完毕后返回。 Nginx和PHP-FPM的组合是一种稳定、高效的PHP运行方式效率要比传统的Apache和mod_php高出不少。 基本的HTTP服务器特性 处理静态文件索引文件以及自动索引打开文件描述符缓存 使用缓存加速反向代理简单负载均衡以及容错 远程FastCGIuwsgiSCGI和memcached服务的缓存加速支持简单的负载均衡以及容错 模块化的架构。过滤器包括gzip压缩、ranges支持、chunked响应、XSLTSSI以及图像缩放。在SSI 过滤器中一个包含多个SSI的页面如果经由FastCGI或反向代理处理可被并行处理 支持SSLTLS SNI。 其他的HTTP服务器特性 基于名字和IP的虚拟主机 Keep-alive和pipelined连接支持 灵活的配置 重新加载配置以及在线升级时不需要中断正在处理的请求 自定义访问日志格式带缓存的日志写操作以及快速日志轮转 3xx-5xx错误代码重定向 重写rewrite模块使用正则表达式改变URI 根据客户端地址执行不同的功能 基于客户端IP地址和HTTP基本认证机制的访问控制 支持验证HTTP referer 支持PUT、DELETE、MKCOL、COPY以及MOVE方法 支持FLV流和MP4流 速度限制 来自同一地址的同时连接数或请求数限制 嵌入Perl语言。 邮件代理服务器特性 使用外部HTTP认证服务器重定向用户到IMAP/POP3后端 使用外部HTTP认证服务器认证用户后重定向连接到内部SMTP后端 支持的认证方式 POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5; IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5; SMTP: AUTH LOGIN/PLAIN/CRAM-MD5; SSL支持 STARTTLS和STLS支持。 二具体配置步骤 //环境说明 1.系统为centos6.4 2.nginx编译安装在IP10.10.54.157上并配合其它几台web服务器实现负载均衡 3.nginx服务器即当作一台反向代理服务器又当作一台web服务器和其它几台web服务器配合实现负载均衡 4.web服务器可以是apache要实现负载均衡先得保证每台web服务器可以独立被访问 5.环境中有不止一台web服务器nginx服务器的功能就是把用户的连接请求均衡负载到每台web服务器上 //nginx编译安装 shell ./configure --prefix/usr/local/nginx --userapache --groupapache --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module make make install
#参数解释
--prefixPATH set installation prefix
--userUSER set non-privileged user for
--groupGROUP set non-privileged group for
--with-http_ssl_module enable ngx_http_ssl_module
--with-http_stub_status_module enable ngx_http_stub_status_module #支持监控
--with-http_gzip_static_module enable ngx_http_gzip_static_module #支持压缩#启动nginx
shell /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#测试nginx配置文件格式是否正确
shell /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
#关闭nginx
shell cat /usr/local/nginx/logs/nginx.pid | xargs kill -TERM
#重启nginx
shell cat /usr/local/nginx/logs/nginx.pid | xargs kill -HUP
HUP 重启
TERM,INT 快速停止
USR1 重新打开日志文件用于日志切割
USR2 平滑升级可执行程序
QUIT 从容关闭
WINCH 从容关闭工作进程 //nginx服务器配置 #编辑nginx主配置文件
shell vim /usr/local/nginx/conf/nginx.conf
user apache apache;
worker_processes 2;
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;include virtual/www_zijian_com_conf; #包含虚拟主机文件目录
}#编辑虚拟配置文件
shell mkdir /usr/local/nginx/conf/virtual
shell cd /usr/local/nginx/conf/virtual
shell vim www_zijian_com_conf
--------------------------------------------
upstream www_zijian_com {server 10.10.54.157:8080 max_fails3 weight2 fail_timeout60s; #本机也充当一台web服务器server 10.10.54.159:10081 max_fails3 weight1 fail_timeout60s; #10.10.54.159这个web服务器上的10081端口正在监听状态server 10.10.54.152:10080 max_fails3 weight3 fail_timeout60s;server 10.10.54.150:1500 max_fails3 weight4 fail_timeout60s;
}#nginx服务器在www.zijian.com:80(下面的配置中)端口监听来自客户端的连接然后通过反向代理由upstream部分决定吧用户的请求负载到哪台web服务器上weightnumber参数可以指定某台web服务器的权重
server {listen 80;server_name www.zijian.com; #nginx服务器访问地址浏览器中输入的是这个网址charset uft-8;access_log logs/www.access.log main;index index.html;location / {proxy_pass http://www_zijian_com;proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}#nginx服务器本身也充当web服务器所以这里也要配置
server {listen 8080;server_name www.zijian.com;charset uft-8;access_log logs/www.access.log main;root /var/www/html;index index.html;
}
--------------------------------------------#浏览器中输入www.zijian.com 测试nginx负载均衡
#注意浏览器的缓存会干扰测试结果所以你要确保www.ziji被正确解析为nginx服务器的IP这个例子中是10.10.54.15#虚拟配置文件另一中形式
-----------------------------------------------------------------------
upstream www_zijian_com {server 10.10.54.159:10081 max_fails3 weight1 fail_timeout60s; #仅有三台web server负载server 10.10.54.157:8080 max_fails3 weight2 fail_timeout60s; #本机web服务器server 10.10.54.152:10080 max_fails3 weight3 fail_timeout60s;
}
server {listen 80;server_name www.zijian.com;charset uft-8;access_log logs/www.access_nginx.log main;index index.html;location / {proxy_pass http://www_zijian_com;proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}
#不同与上一个配置文件当upstream把用户请求负载到10.10.54.157:8080上时再一次启动代理代理到10.10.54.150:1500端口
server {listen 8080; #监听8080端口access_log logs/www.access_nginx.log main;location / {proxy_pass http://10.10.54.150:1500;}
}
---------------------------------------------------------------------------------- 转载于:https://my.oschina.net/zijian1315/blog/207294