耘朵
一只不务正业的程序媛
Toggle navigation
耘朵
主页
归档
标签
搭建centos服务器 nginx+docker
nginx
docker
centos
2021-09-07 22:55:03
182
0
0
admin
nginx
docker
centos
## 前言 我的服务器选择的是腾讯云,之前老公买了用了一段时间之后因为不够大,闲置了,所以就给了我做个人服务器,就是玩,内装centos7.9 nginx选择放在docker外面,因为nginx对内存很敏感,本身的内存占用也非常低 首先说下我为什么选择用nginx和docker **docker的优点** > 1.省内存,docker安装的每一个镜像,相当于放在一个单独的虚拟机下,不会互相抢占,可以控制每个的资源占用,docker的虚拟机也做到了压缩到极致,占用很少,即便溢出也可以利用交换区做到内存不够,硬盘来凑 > 2.管理方便,可以快速部署一台或多台服务器,执行命令相同 > 3.自动重启功能,比如内存溢出或者某个服务炸了,可以设置自动重启 **nginx的优点** > 1.速度最快,资源占用最少,接待人数最多的容器,实时访问量大 > 2.(伪)负载均衡,一个nginx可以分配多个内网地址,我之所以说是伪,是因为他不是真正的判断哪里人多人少去分配的,而是给不同的地方分配比例,通过生成随机数进行分配,但是也能够分担压力 > 3.可以处理高并发,他是用水桶原理,所有的访问就像在一个水桶中,桶的下面有个孔,正常的访问就从这个孔中定量通过,如果请求的次数异常多,就会放到桶里面排排队,定量的往外放,如果异常次数超出了额定的范围,那他就被排除在桶外,访问405 > 4.可以做反向代理,域名只有一个,内部的网络端口和文件有很多,能够通过域名区分来的人是谁,分配给内部的各个端口 接下来就开始进行正式的搭建服务器 ## 1.使用腾讯云  我选择的是centos7.9版本,登陆方式使用密钥,密钥相对更安全些,可以在腾讯云创建密钥使用,下载下来就可以在其他地方登陆。ddos和云监控是免费的那一定要白嫖 ## 2.安装nginx ```shell rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm #更新本地nginx官方最新版本 yum install -y nginx #安装nginx systemctl start nginx.service #启动nginx systemctl enable nginx.service #设置开机启动nginx ``` ## 3.安装docker ```shell # 添加镜像源到Yum yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo sed -i 's/download.docker.com/mirrors.ustc.edu.cn\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo # 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 yum makecache fast # 安装docker社区版 yum install docker-ce systemctl enable docker #设置开机启动docker systemctl start docker #启动docker chmod -R 777 /etc/docker #docker赋权777 systemctl daemon-reload #守护线程 systemctl restart docker #重启 ``` ## 4.docker安装mysql 先创建好对应目录,用来对应docker中的mysql配置等,之后更改配置不用进入docker中更改,改外部文件夹中的就可以 > /root/docker/mysql/conf > /root/docker/mysql/logs > /root/docker/mysql/data ```shell docker run -d -p 3306:3306\ #-d 后台运行 -p对外和对内端口 -e "TZ=Asia/Shanghai"\ #时区上海 --restart=always\ #炸了自动重启 --name mysql\ #命名 -v /root/docker/mysql/conf:/etc/mysql/conf.d\ #映射配置文件夹 -v /root/docker/mysql/logs:/logs\ #映射日志 -v /root/docker/mysql/data:/var/lib/mysql\ #映射数据 -e MYSQL_ROOT_PASSWORD=你的密码\ #密码 -m 1000M\ #分配内存 --oom-kill-disable\ #超出内存不杀进程 --memory-swap=-1\ #超出后用swap mysql:8 #版本 ``` ## 5.docker安装redis ```shell docker run -d -p 6379:6379\ #-d 后台运行 -p对外和对内端口 -e "TZ=Asia/Shanghai"\ #时区上海 --restart=always\ #炸了自动重启 -m 200M\ #分配内存 --oom-kill-disable\ #超出内存不杀进程 --memory-swap=-1\ #超出后用swap --name redis\ #命名 redis ``` ## 6.docker安装tomcat Tomcat与前面的有点不同,他的映射的初始目录必须是有默认文件的。我的做法是,先创建一个全新的临时容器Tomcat,复制重要文件到本地docker/tomcat下,再删除容器,映射文件。 ```shell docker run -d -p 8080:8080 --name tomcat tomcat:9.0.52-jdk8 #先开一个临时的tomcat容器 docker cp tomcat:/usr/local/tomcat /root/docker/ # 然后直接把需要映射的内容先复制出来 docker stop tomcat #停掉docker的tomcat docker rm tomcat #删掉docker的tomcat # 最后正常创建启动 # 映射到本地端口8080 docker run -d -p 8080:8080\ -e "TZ=Asia/Shanghai"\ --restart=always\ --link mysql\ --link redis\ -v /root/docker/tomcat/logs:/usr/local/tomcat/logs\ -v /root/docker/tomcat/webapps:/usr/local/tomcat/webapps\ -v /root/docker/tomcat/bin:/usr/local/tomcat/bin\ -v /root/docker/tomcat/conf:/usr/local/tomcat/conf\ -v /root/docker/tomcat/work:/usr/local/tomcat/work\ -m 1500M\ --oom-kill-disable\ --memory-swap=-1\ --name tomcat\ tomcat:9.0.52-jdk8 ``` **这样服务器中基本需要的东西就都齐了**
上一篇:
CPU缓存与Java内存模型JMM
下一篇:
私服docker搭蚂蚁笔记
0
赞
182 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
文档导航