java培训Nginx 快速入门

2023-01-11 0 338

java培训Nginx 快速入门

一、nginx概要

1、甚么是Nginx

Nginx 是款操控性的 http 伺服器/逆向全权伺服器及电电子邮件(IMAP/POP3)全权伺服器。由白俄罗斯的流程雕塑家吉斯·什涅(Igor Sysoev)所合作开发,官试验 nginx 能撑 5 万mammalian镜像,因此cpu、缓存等天然资源耗用却常低,运常平衡。

Nginx应情景:

1、http 伺服器。Nginx 是个 http 服务项目能独提供更多 http 服务项目。能做动态服务器。

2、应用软件。 能同时实现在台伺服器交互式出数个站。比如个站使的应用软件。

3、逆向全权,阻抗平衡。当站的用户数量达至定某种程度后,DF93伺服器无法满户的允诺时,须要几台伺服器软件产业能使 nginx 做逆向全权。因此几台伺服器能平均值分摊阻抗,无法即使某台伺服器阻抗无法访问某台伺服器空置的情形。

二、Nginx安装

1、搜索nginx镜像

docker search nginx

2、拉取nginx镜像

docker pull nginx

3、创建容器,设置端映射、录映射

# 在/root录下创建nginx录于存储nginx数据信息

mkdir ~/nginx

cd ~/nginx

mkdir conf

cd conf

# 在~/nginx/conf/下创建nginx.conf件,粘贴下内容

vim nginx.conf

user nginx;

worker_processes 1;

error_log /var/log/nginx/error.log warn;

pid /var/run/nginx.pid;

events {

worker_connections 1024; }

http {

include /etc/nginx/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 /var/log/nginx/access.log main;

sendfile on;

#tcp_nopush on;

keepalive_timeout 65;

#gzip on;

include /etc/nginx/conf.d/*.conf;

}

~/nginx/conf.d/80.conf

server {

listen 80; # 监听的端

server_name localhost; # 域名或ip

location / { # 访问路径配置

root /usr/share/nginx/html;# 根录

index index.html index.htm; # 默认

}

error_page 500 502 503 504 /50x.html; # 错误

location = /50x.html {

root html;

}

}

#docker容器创建挂载

docker run -id –name=c_nginx \

-p 80:80 \

-p 81:81 \

-p 82:82 \

-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \

-v $PWD/conf.d:/etc/nginx/conf.d \

-v $PWD/logs:/var/log/nginx \

-v $PWD/html:/usr/share/nginx/html \

nginx

1、-p 80:80:将容器的 80端映射到宿主机的 80 端。

2、-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机当前录下的/conf/nginx.conf 挂载到容器的 /etc/nginx/nginx.conf配置录

3、-v $PWD/logs:/var/log/nginx:将主机当前录下的 logs 录挂载到容器的/var/log/nginx志录

三、Nginx动态站部署

1、动态站的部署

/资料/动态/index录下的所有内容 上传到伺服器的/usr/local/nginx/html下即可访问

2、 配置应用软件

nginx应用软件,也叫“站空间”,就是把台运在互联上的物理伺服器划分成数个“交互式”伺服器。交互式主

机技术极促进了络技术的应和普及。同时应用软件的租服务项目也成了络时代的种新型经济形式。

2.1、端绑定

1)上传动态站:

将/资料/动态/index录上传 /usr/local/nginx/index下

将/资料/动态/regist录上传 /usr/local/nginx/regist下

2)修改Nginx 的配置件:~/nginx/config.d/port.conf

server {

listen 81; # 监听的端

server_name localhost; # 域名或ip

location / { # 访问路径配置

root /usr/share/nginx/index;# 根录

index index.html index.htm; # 默认

}

error_page 500 502 503 504 /50x.html; # 错误

location = /50x.html {

root html;

}

}

server {

listen 82; # 监听的端

server_name localhost; # 域名或ip

location / { # 访问路径配置

root /usr/share/nginx/regist;# 根录

index regist.html; # 默认

}

error_page 500 502 503 504 /50x.html; # 错误

location = /50x.html {

root html;

}

}

3)访问试验:

地址栏输http://你的交互式机IP/:81 能看到

地址栏输http://你的交互式机IP/:82 能看到注册

三、Nginx逆向全权与阻抗平衡

1、逆向全权

1.1、甚么是逆向全权

逆向全权(Reverse Proxy)式是指以全权伺服器来接受internet上的连接允诺,然后将允诺转发给内部络上的伺服器,并将从伺服器上得到的结果返回给internet上允诺连接的客户端,此时全权伺服器对外就表现为个逆向全权伺服器。

先我们先理解正向全权,如下图:

java培训Nginx 快速入门

正向全权是针对你的客户端,逆向全权是针对伺服器的,如下图:

java培训Nginx 快速入门

1.2、配置逆向代理准备作

在docker中部署tomcat

1、搜索tomcat镜像

docker search tomcat

2、拉取tomcat镜像

docker pull tomcat

3、创建容器,设置端映射、录映射

# 在/root录下创建tomcat录于存储tomcat数据信息

mkdir ~/tomcat

cd ~/tomcat

docker run -id –name=c_tomcat \

-p 8080:8080 \

-v $PWD:/usr/local/tomcat/webapps \

tomcat

参数说明:

-p 8080:8080: 将容器的8080端映射到主机的8080端

-v $PWD:/usr/local/tomcat/webapps: 将主机中当前录挂载到容器的webapps

4、 使外部机器访问tomcat

1.3 配置逆向全权

~/nginx/config.d/proxy.conf

upstream tomcat-me{

server 192.168.220.12:8080;

}

server {

listen 80; # 监听的端

server_name www.me.com; # 域名或ip

location / { # 访问路径配置

# root index;# 根录

proxy_pass http://tomcat-me;

index index.html index.htm; # 默认

}

}

重新启动Nginx 然后浏览器试验

2、阻抗平衡

2.1 甚么是阻抗平衡

阻抗平衡建在现有络结构之上,它提供更多了种廉价有效透明的法扩展络设备和伺服器的带宽、增加吞吐量、加强络数据处理能、提络的灵活性和可性。

阻抗平衡,英名称为Load Balance,其意思就是分摊到数个操作单元上进执,比如Web伺服器、FTP伺服器、企业关键应伺服器和其它关键任务伺服器等,从共同完成作任务。

2.2 配置阻抗平衡准备作

(1)使docker创建3个tomcat容器,端分别为8080 ,8081,8082 。

docker run -id –name=c_tomcat1 \

-p 8081:8080 \

-v $PWD:/usr/local/tomcat/webapps \

tomcat

docker run -id –name=c_tomcat2 \

-p 8082:8080 \

-v $PWD:/usr/local/tomcat/webapps \

tomcat

docker run -id –name=c_tomcat3 \

-p 8083:8080 \

-v $PWD:/usr/local/tomcat/webapps \

tomcat

(2)分别启动这三个tomcat服务项目。

(3)为了能区分是访问哪个伺服器的站,能在标题加上标记以便区分。

2.3 配置阻抗平衡

修改 Nginx配置件:lb.conf

upstream tomcat-huike {

server 192.168.220.12:8080;

server 192.168.220.12:8081;

server 192.168.220.12:8082;

}

server {

listen 80; # 监听的端

server_name www.huike.com; # 域名或ip

location / { # 访问路径配置

# root index;# 根录

proxy_pass http://tomcat-huike;

index index.html index.htm; # 默认

}

error_page 500 502 503 504 /50x.html; # 错误

location = /50x.html {

root html;

}

}

部署并访问项目,刷新观察每个的标题,看是否不同。

经过试验,三台伺服器出现的概率各为33.3333333%,交替显示。

如果其中台伺服器操控性较好,想让其承担更多的压,能设置权重。

如想让NO.1出现次数是其它伺服器的2倍,则修改配置如下:

upstream tomcat-travel {

server 192.168.177.129:8080;

server 192.168.177.129:8081 weight=2;

server 192.168.177.129:8082;

}

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务