Nginx

一、何为nginx:

Nginx 是⼀款⾼性能的 http 服务器 / 反向代理服务器及电⼦邮件( IMAP/POP3 )代理服务器。由俄罗斯
的程序设计师伊⼽尔 · ⻄索夫( Igor Sysoev )所开发,官⽅测试 nginx 能够⽀⽀撑 5 万并发链接,并且
cpu 、内存等资源消耗却⾮常低,运⾏⾮常稳定。
nginx的应用场景:
1 http 服务器。 Nginx 是⼀个 http 服务可以独⽴提供 http 服务。可以做⽹⻚静态服务器。
2 、虚拟主机。可以实现在⼀台服务器虚拟出多个⽹站。例如个⼈⽹站使⽤的虚拟主机。
3 、反向代理,负载均衡。当⽹站的访问量达到⼀定程度后,单台服务器不能满⾜⽤户的请求时,需要⽤
多台服务器集群可以使⽤ nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器
负载⾼宕机⽽某台服务器闲置的情况。
说白了就是高性能,只能高并发的tomcat。

二、在docker中安装nginx

1、  拉取 nginx镜像:docker pull nginx
2、创建容器,设置端⼝映射、⽬录映射
# /root ⽬录下创建 nginx ⽬录⽤于存储 nginx 数据信息
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf
# ~/nginx/conf/ 下创建 nginx.conf ⽂件 , 粘贴下⾯内容
vim nginx.conf
创建容器(在nginx下创建):
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
参数说明:
-p 80:80 :将容器的 80 端⼝映射到宿主机的 80 端⼝。
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf :将主机当前⽬录下的
/conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf 。配置⽬录
-v $PWD/logs:/var/log/nginx :将主机当前⽬录下的 logs ⽬录挂载到容器
/var/log/nginx 。⽇志⽬录
在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;
}
}

三、Nginx静态⽹站部署

1、配置虚拟主机

1.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;
}
}
这边需要利用docker cp ./index c_nginx:/usr/share/nginx,这代表将index拷贝到容器下的/usr/share/nginx目录下,regist也是一样
2、域名绑定
2.1、需要将虚拟机地址改成域名:

2.2、在修改nginx目录下的domain.con(名称随便写)

server {
listen 80;
server_name www.xzk.com;
location / {
root /usr/share/nginx/cart;
index cart.html;
}
}
server {
listen 80;
server_name regist.xzk.com;
location / {
root /usr/share/nginx/search;
index search.html;
}
}

三、Nginx反向代理与负载均衡

3.1、配置反向代理:

/nginx/config.d/proxy.conf下
upstream tomcat-kkb{
server 192.168.220.12:8080;
}
server {
listen 80; # 监听的端⼝
server_name www.kkb.com; # 域名或 ip
location / { # 访问路径配置
# root index;# 根⽬录
proxy_pass http://tomcat-kkb;
index index.html index.htm; # 默认⾸⻚
}
}
3.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
修改nginx下的配置文件:ib.conf
upstream tomcat-huike {
server 192.168.220.12:8080;
server 192.168.220.12:8081 weight=2
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;
}
}
在端口号后面加上weight表示设置权重,可以在轮询的基础上,让8081端口承担更多的任务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值