学习php网站开发怎么样,伦教网站设计,济南网站制作方案,一个完美的网站怎么做架构模型
Nginx是由一个master管理进程、多个worker进程组成的多进程模型。master负责管理worker进程#xff0c;worker进程负责处理网络事件#xff0c;整个框架被设计为一种依赖事件驱动、异步、非阻塞的模式。 优势#xff1a; 1、充分利用多核#xff0c;增强并发处理…架构模型
Nginx是由一个master管理进程、多个worker进程组成的多进程模型。master负责管理worker进程worker进程负责处理网络事件整个框架被设计为一种依赖事件驱动、异步、非阻塞的模式。 优势 1、充分利用多核增强并发处理能力 2、多worker间可以实现负载均衡 3、Master统管worker行为在worker异常后可以主动拉起worker进程从而提升了系统的可靠性。并且由Master进程控制服务运行中的程序升级、配置项修改等操作从而增强了整体的动态可扩展与热更的能力
安装
yum方式
yum install -y nginx
#查看是否安装成功
pcre-config --version
systemctl start nginx systemctl enable nginx
#检查服务
ps -ef | grep nginx
netstat -ntlp | grep 80#检查配置文件
nginx -t
systemctl restart nginx
systemctl start nginx
systemctl stop nginx 编译方式
wget http://nginx.org/download/nginx-1.22.0.tar.gz
tar -zxvf nginx-1.22.0.tar.gz/下载路径/configure --prefix/安装路径#下载依赖
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
make make install
# 启动服务
/安装路径/sbin/nginx#重新加载
./nginx -s reload
#服务关闭
./nginx -s stop
#服务开启
./nginx基本配置
主配置文件/etc/nginx/nginx.conf如果是openresty则在/usr/local/openresty/nginx/conf/nginx.conf。
# worker进程的数量建议数量服务器的总核心数
worker_processes 4;
events {
# 单个worker进程并发最大连接数
# nginx并发总链接数 worker_processes * worker_connections建议数量文件打开数worker_connections 256;
}
http {
# include为http模块调取的配置文件
# mime.types文件是nginx可处理的静态媒体资源类型include mime.types;
# 定义默认类型普通文本为text/plaindefault_type application/octet-stream;
# 是否能使用sendfile()传输文件该属性可以大大提高Nginx处理静态资源的性能sendfile on;
# 链接超时时间keepalive_timeout 65;server {
# nginx服务监听端口默认为80listen 80;
# 指定网址域名信息例www.abc.com默认为主机地址通过输入主机地址访问页面server_name localhost;
# url为/时location / {
# 指定网址站点目录root html;
# 访问主页后无对应站点时反馈的信息默认打开此配置文件index index.html index.htm;}
# 错误页面优雅显示配置模块error_page 500 502 503 504 /50x.html; location /50x.html {root html;}}
}常用项 反向代理 客户端发送请求到反向代理服务器由反向代理服务器去选择目标服务器获取数据然后再返回到客户端。此过程客户端无法感知代理暴露的是代理服务器地址隐藏了真实服务器 IP 地址。 location / {echo this is 100 / page;}location /a {proxy_pass http://10.0.0.101:80/;}location /b {proxy_pass http://10.0.0.102:80/;}# proxy_pass为反向代理配置, 即流量由代理端转发至后端响应。注意结尾的/号,如果不配置会代表其他用法。匹配规则
优先级最高 ^~优先级其次匹配以xx开头 ~ ^/\w 优先级第三匹配字母、数字、下划线或汉字(正则表达式) /优先级最低 server {listen 80;server_name localhost;# 需要在server配置模块中添加配置, 否则默认会下载default_type text/html;location / {echo this is / page;}location /a {echo this is /a page;}location ^~ /a {echo this is ^~ /a page;}location ~ ^/\w {echo this is ~ ^/\w page;}error_page 500 502 503 504 /50x.html;location /50x.html {root html;}}动静分离
nginx对静态页面的处理能力远高于tomcat非常擅长将css、js、图片等资源以http协议的方式返回给客户端。故静态请求交由nginx动态请求交由tomcat提升系统吞吐量,降低由单个服务器的压力。 location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
# 静态数据放入客户端的缓存七天内有效root /webapps/projectname/code/static-resource;expires 7d;}location / {
# 动态请求转交tomcatproxy_pass http://127.0.0.1:8080;
}负载均衡 http:upstream group {server 10.0.0.101:80;server 10.0.0.102:80;}server:location /lb {proxy_pass http://group/;}调度种类
轮询每个请求按时间顺序逐一分配到不同的后端服务器 权重weight值越大被访问的概率越高
ip hash每个请求按访问ip的hash结果分配这样来自同一个IP的访客固定访问一个后端服务器有效解决了动态网页存在的session共享问题 fair按后端服务器的响应时间来分配请求响应时间短的优先分配
url_hash按访问url的hash结果来分配请求使每个url定向到同一个后端服务器后端服务器为缓存时比较有效
几种状态
down当前的后端server不参与负载 weight默认为1, 被访问的概率 max_fails允许请求失败的次数默认为1。当超过最大次数时返回proxy_next_upstream模块定义的错误 fail_timeout失败访问达到max_fails次数后暂挂的时间。 backup 所有非backup后端server处于宕机或者忙的时候转发请求到backup后端server 附
nginx的主备: link