Nginx-基本概念和使用
Nginx-基本概念和运用
(engine x)是一个高性能的HTTP和反向署理web服务器,同时也供给了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强。
Nginx能够做反向署理,完成负载均衡;
正向署理
在客户端(浏览器)装备署理服务器,经过署理服务器进行互联网拜访。署理对象是客户端,不知道服务端是谁。
客户端不需要任何装备就能拜访,只需要将恳求发送到反向署理服务器,由反向署理服务器去挑选方针服务器,获取数据后再回来给客户端。对外就一个服务器,暴露的是反向署理服务器地址,隐藏了实在服务器IP地址。署理对象是服务端,不知道客户端是谁。
负载均衡
客户端发送多个恳求到服务器,服务器处理恳求,有些可能要拜访数据库,服务器处理完毕后再将成果回来客户端。
master接收信号后将使命分配给worker进行执行,worker可有多个。
每个 woker 是独立的进程,能够运用 nginx –s reload 热布置。
mac 装置nginx
brew install nginx
发动nginx
brew services start nginx
装置目录 /usr/local/Cellar/nginx
装备目录 /usr/local/etc/nginx 装备文件nginx.conf
nginx.conf装备文件内include servers/*; 指定了servers目录下的所有装备文件
静态页面
装备了nginx页面 服务地址localhost:8080 指向静态文件
root目录 指向装置目录/usr/local/Cellar/nginx下的html文件夹,html文件是一个软连接 指向html -> ../../../var/www 即 /usr/local/var/www目录,主页指向index.html index.htm
server {
listen 8080;
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;
}
}
此种方法能够装备前后端分离的前端静态页面,root 指向将vue打包好的静态文件即可。
署理服务
server {
listen 80;
server_name admin.binlive.cn;
location /{
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr; # pass on real client's IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 900;
}
}
负载均衡
拜访域名www.domain.com 反向署理到 myproject,upstream指定了负载均衡的机器,weight指定权重
http {
upstream myproject {
server 127.0.0.1:8000 weight=3;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}
server {
listen 80;
server_name www.domain.com;
location / {
proxy_pass http://myproject;
}
}
}
nginx -t 检测装备文件是否正确
nginx -s reload 从头加载装备文件
Nginx-基本概念和运用
(engine x)是一个高性能的HTTP和反向署理web服务器,同时也供给了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强。
Nginx能够做反向署理,完成负载均衡;
正向署理
在客户端(浏览器)装备署理服务器,经过署理服务器进行互联网拜访。署理对象是客户端,不知道服务端是谁。
客户端不需要任何装备就能拜访,只需要将恳求发送到反向署理服务器,由反向署理服务器去挑选方针服务器,获取数据后再回来给客户端。对外就一个服务器,暴露的是反向署理服务器地址,隐藏了实在服务器IP地址。署理对象是服务端,不知道客户端是谁。
负载均衡
客户端发送多个恳求到服务器,服务器处理恳求,有些可能要拜访数据库,服务器处理完毕后再将成果回来客户端。
master接收信号后将使命分配给worker进行执行,worker可有多个。
每个 woker 是独立的进程,能够运用 nginx –s reload 热布置。
mac 装置nginx
brew install nginx
发动nginx
brew services start nginx
装置目录 /usr/local/Cellar/nginx
装备目录 /usr/local/etc/nginx 装备文件nginx.conf
nginx.conf装备文件内include servers/*; 指定了servers目录下的所有装备文件
静态页面
装备了nginx页面 服务地址localhost:8080 指向静态文件
root目录 指向装置目录/usr/local/Cellar/nginx下的html文件夹,html文件是一个软连接 指向html -> ../../../var/www 即 /usr/local/var/www目录,主页指向index.html index.htm
server { listen 8080; 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; } }
此种方法能够装备前后端分离的前端静态页面,root 指向将vue打包好的静态文件即可。
署理服务
server { listen 80; server_name admin.binlive.cn; location /{ proxy_pass http://127.0.0.1:8080; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; # pass on real client's IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 900; } }
负载均衡
拜访域名www.domain.com 反向署理到 myproject,upstream指定了负载均衡的机器,weight指定权重
http { upstream myproject { server 127.0.0.1:8000 weight=3; server 127.0.0.1:8001; server 127.0.0.1:8002; server 127.0.0.1:8003; } server { listen 80; server_name www.domain.com; location / { proxy_pass http://myproject; } } }
nginx -t 检测装备文件是否正确
nginx -s reload 从头加载装备文件
我有话说: