关于Linux环境下nginx、docker容器以及docker下MongoDB的下载安装

关于Linux环境下Nginx、docker容器以及dockerMongoDB的下载安装
1.什么是Nginx?

Nginx是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004104 日。

Nginx 特点是占有内存少,并发能力强。

事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,一般来说,如果我们在项目中引入了 Nginx ,我们的项目架构可能是这样:

haha

(此图源于http://www.javaboy.org/2019/0605/nginx-guide.html)

在这样的架构中 , Nginx 所代表的角色叫做负载均衡服务器或者反向代理服务器,所有请求首先到达 Nginx 上,再由 Nginx 根据提前配置好的转发规则,将客户端发来的请求转发到某一个 Tomcat 上去。

  • 什么是负载均衡?

    ​ 实际就是通过增加服务器来减缓单个或少量服务器的压力。负载均衡策略有很多,也有很多层,对于大型网站基本是从DNS就开始负载均衡,负载均衡有硬件个软件之分,各自代表分别是F5和Nginx(目前Nginx已被F5收购)。

  • 什么是反向代理服务器?

    拿VPN来说,当需要访问GW网站时,需要VPN这个服务器来进行搭桥,我们这边是客户端,VPN作为代理我们的服务去访问GW网站;而反向代理正好相反,因为有些大型网站一天的访问量有很多,比如电商类的网站;如果一个服务器被无数个用户访问是会被挤爆的,所以需要创建多个服务器达到负载均衡的效果,此时可以通过Nginx代理随机访问需要代理的服务器。

2.Nginx的下载、安装
#1.首先找到Nginx的下载地址,再下载
wget http://nginx.org/download/nginx-1.17.0.tar.gz
#2.下载完后先安装2依赖
yum -y install pcre-devel
yum -y install openssl openssl-devel
#3.解压Nginx到当前目录
tar -zxvf nginx-1.17.0.tar.gz
#4.编译、安装(一步一步进行)
./configure
make
make install
#5.默认安装目录为
/usr/local/nginx/sbin/nginx
#6.执行
./nginx
#7.然后在浏览器地址栏输入192.168.1.102:8080,显示welcome to nginx!等界面即安装完成。
3.Nginx实现Session共享
#1.修改nginx.conf配置文件,先进入nginx目录
vi nginx.conf
#2.添加upstream
upstream jsorn.org{#jsorn.org随意起
  server 127.0.0.1:8080 weght=1;
  server 127.0.0.1:8081 weght=1;
}
#location下的东西注释掉,添加两行
proxy_pass http://jsorn.org #与上面的一致
proxy_redirect default;
#3.重启nginx即可
./nginx -s reload
4.docker容器简单介绍

根据 wikipedia 中的介绍:

Docker 是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在 Linux 操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。
Docker 利用 Linux 核心中的资源分脱机制,例如 cgroups ,以及 Linux 核心名字空间(name space),来创建独立的软件容器(containers)。这可以在单一 Linux 实体下运作,避免启动一个虚拟机造成的额外负担。
Linux 核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括进程树、网络、用户 ID 与挂载文件系统,而核心的 cgroup 提供资源隔离,包括 CPU 、存储器、block I/O 与网络。从 0.9 版本起,Dockers 在使用抽象虚拟是经由 libvirt 的 LXC 与systemd - nspawn 提供界面的基础上,开始包括 libcontainer 库做为以自己的方式开始直接使用由 Linux 核心提供的虚拟化的设施。
依据行业分析公司“451研究”:“Dockers 是有能力打包应用程序及其虚拟容器,可以在任何 Linux 服务器上运行的依赖性工具,这有助于实现灵活性和便携性,应用程序在任何地方都可以运行,无论是公有云、私有云、单机等。” 。

5.docker下载、安装

#1.直接下载
yum -y install docker
#2.启动服务
service start docker
#3.检查docker是否安装成功
docker -v

需要注意的一点是,在Centos7虚拟机中是不支持SELinux的或者说需要安装插件,但是可以使SELinux失效,即

vi /etc/sysconfig/docker
#将OPTINS=‘--selinux-enable --log-driver...改为
OPTINS=‘--selinux-enable=false --log-driver...

docker常用命令

然后以systemctl start dokcer.service启动服务
通过docker ps查看当前运行的容器
通过docker ps -a 查看已创建的容器
通过docker create 名 来创建一个未启动的容器
通过docker create --name=nginx nginx创建以nginx名的容器
通过docker run --name nginx1 -d -p 8080:80 nginx创建一个运行的容器
通过docker run -name ubuntu -it ubuntu /bin/bash创建一个命令行终端,输入exit即可退出
使用docker run创建的容器不需要启动容器就已经启动容器了,而普通的容器启动则是docker start的方式启动,用id或者name都可以启动
通过docker stop +id/name来终止一个容器
通过docker rm +id/name删除单个容器,只能删除停止运行的容器,如果非要删除一个运行的容器,则用docker rm -f来删除
通过docker rm $(docker ps -a -q)来批量删除
5.MongoDB的安装与使用
#使用docker创建
docker run -d -p 27001:27001 --name mongo --restart=always -e MONGO_INITDB_ROOT_USERNAME=jsorn -e MONGO_INITDB_ROOT_PASSWORD=123 mongo
6.下载Robo 3T-1.3可视化MongoDB视图客户端

百度云下载(提取码:0h0z)
官网下载:
https://robomongo.org/
具体教学可以参考百度搜索

7.SpringBoot整合MongoDB
#application.properties文件中配置如下:
  spring.data.mongodb.host=192.168.1.103
  spring.data.mongodb.authentication-database=admin
  spring.data.mongodb.username=jsorn
  spring.data.mongodb.password=123
  spring.data.mongodb.port=27017
  spring.data.mongodb.database=jsorn

#然后BookDao需要继承MongoRepository<Book,Integer>接口
public interface BookDao extends MongoRepository<Book,Integer> {
    List<Book> findBookByNameContaining(String name);//自定义方法
}
#最后启动项目在postman中进行操作,其他自定义方法可以去http://www.javaboy.org/查看详细过程。

有句话说的好,好记性不如烂笔头;当自己觉得学得差不多的时候可以进行总结一下,并且接收别人的评论与修正!

谢谢观看与指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值