ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

谷粒商城分布式环境配置(一)

2021-11-29 16:01:03  阅读:163  来源: 互联网

标签:sudo repo etc Base yum 谷粒 docker 商城 分布式


谷粒商城分布式环境配置:
vagrant:
1、安装vagrant:
vagrant init centos/7

	2、配置固定ip:
		更改Vagrantfile更改虚拟机ip,修改其中的config.vm.network "private_network",ip:"192.168.56.10"
	
	3、修改登录方式:默认只允许ssh登录方式,为了后来操作方便,文件上传等,我们可以配置允许账号密码登录
		vim /etc/ssh/sshd_config
		# 修改
		PasswordAuthentication yes
		# 重启
		service sshd restart
		# 账号root
		密码vagrant
	
	4、配置源:
		# 备份原yum源
		mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
		# 使用新yum源
		curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
		# 生成缓存
		yum makecache
		
Docker:
	1、安装Docker:https://docs.docker.com/engine/install/centos/
		#卸载系统之前的docker 
		sudo yum remove docker \
			  docker-client \
			  docker-client-latest \
			  docker-common \
			  docker-latest \
			  docker-latest-logrotate \
			  docker-logrotate \
			  docker-engine
						  
              
		sudo yum install -y yum-utils

		# 配置镜像
		sudo yum-config-manager \
			--add-repo \
			https://download.docker.com/linux/centos/docker-ce.repo
			
		sudo yum install docker-ce docker-ce-cli containerd.io

		sudo systemctl start docker
		# 设置开机自启动
		sudo systemctl enable docker

		docker -v
		sudo docker images

		# 配置镜像加速: https://cr.console.aliyun.com/cn-qingdao/instances/mirrors
		sudo mkdir -p /etc/docker
		sudo tee /etc/docker/daemon.json <<-'EOF'
		{
		  "registry-mirrors": ["https://XXXXXXXXXXX.mirror.aliyuncs.com"]
		}
		EOF

		sudo systemctl daemon-reload
		sudo systemctl restart docker
	
	2、安装mysql-docker:
		sudo docker pull mysql:5.7

		# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
		sudo docker run -p 3306:3306 --name mysql \
		-v /mydata/mysql/log:/var/log/mysql \
		-v /mydata/mysql/data:/var/lib/mysql \
		-v /mydata/mysql/conf:/etc/mysql \
		-e MYSQL_ROOT_PASSWORD=root \
		-d mysql:5.7
		
		su root 密码为vagrant,这样就可以不写sudo了
	
	3、MySQL 配置:
		
		# 进入已启动的容器
		docker exec -it mysql bin/bash
		# 退出进入的容器
		exit;

		因为有目录映射,所以我们可以直接在镜像外执行
		vi /mydata/mysql/conf/my.conf 

		[client]
		default-character-set=utf8
		[mysql]
		default-character-set=utf8
		[mysqld]
		init_connect='SET collation_connection = utf8_unicode_ci'
		init_connect='SET NAMES utf8'
		character-set-server=utf8
		collation-server=utf8_unicode_ci
		skip-character-set-client-handshake
		skip-name-resolve

		保存

		docker restart mysql
		
	4、Redis 安装配置:
		# 在虚拟机中
		mkdir -p /mydata/redis/conf
		touch /mydata/redis/conf/redis.conf

					docker pull redis

		docker run -p 6379:6379 --name redis \
		-v /mydata/redis/data:/data \
		-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
		-d redis redis-server /etc/redis/redis.conf

		# 直接进去redis客户端。
		docker exec -it redis redis-cli
		
		默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis,docker -it redis redis-cli
		vim /mydata/redis/conf/redis.conf
		# 插入下面内容
		appendonly yes
		保存

		docker restart redis

		# 设置redis容器在docker启动的时候启动
		docker update redis --restart=always

	5、安装nginx docker:
		docker pull nginx:1.10
		# 随便启动一个nginx实例,只是为了复制出配置,放到docker里作为镜像的统一配置
		docker run -p 80:80 --name nginx -d nginx:1.10

		# 把nginx里的东西复制出来
		cd /mydata/nginx
		docker container cp nginx:/etc/nginx .
		然后在外部 /mydata/nginx/nginx 有了一堆文件
		mv /mydata/nginx/nginx /mydata/nginx/conf
		# 停掉nginx
		docker stop nginx
		docker rm nginx

		# 创建新的nginx,使用刚才复制出来的配置文件
		docker run -p 80:80 --name nginx \
		-v /mydata/nginx/html:/usr/share/nginx/html \
		-v /mydata/nginx/logs:/var/log/nginx \
		-v /mydata/nginx/conf:/etc/nginx \
		-d nginx:1.10

		# 注意一下这个路径映射到了/usr/share/nginx/html,我们在nginx配置文件中是写/usr/share/nginx/html,不是写/mydata/nginx/html

		docker update nginx --restart=always

标签:sudo,repo,etc,Base,yum,谷粒,docker,商城,分布式
来源: https://www.cnblogs.com/sleepday/p/15619847.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有