【银河麒麟国产服务器安装mysql、nginx和docker遇到的问题】(回忆篇)

前言

由于公司项目扩展,需要将软件进行国产适配,这是一个支持国产的好机会,博主当然要首当其冲的冲在了最前沿,然后在部署环境的过程中出了一些问题,但是不能慌。
项目介绍:
语言:Java
框架:springCloud
数据库:Mysql 5.7
jdk:1.8
中间件:rabbitMq
非关系型数据库:Redis
项目启动采用jar包打包成docker镜像的方式启动,因此本次服务器安装需要安装JDK,rabbitmq、redis、mysql以及docker。jdk、mysql、redis以及rabbitmq使用docker镜像安装。
在这里插入图片描述

咱们还是要凭借着工作经验去解决问题。还好最后功夫不负有心人。成功搭建!下面先放搭建成功之后的图片(由于隐私,LOGO就抹掉了哈)
在这里插入图片描述

国产服务器配置:

CPU: Hygon C86 5280 16-core Processor 
内存:16G
硬盘:500G

从图片里可以看到使用的是国产海光CPU,Linux系统使用的是国产麒麟。
CPU配置查看

内存

查看服务器的内存 16G
16G

查看服务器型号 Huayun S1,服务器是由信创公司提供的
国产服务器

nginx的搭建

想到搭建nginx,可能大家都会使用yum直接安装部署,一气呵成。直接complete,那多倍儿爽,但是天有不测风云,月有阴晴圆缺。美好的事物总那么的不美好。
第一步:更新yum源

sudo yum update

嗯哼,完美。等了大概10分钟,更新成功!!!真好。真过劲!
在这里插入图片描述
然后使用以前安装centos的方法安装nginx

添加源

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装Nginx

sudo yum install -y nginx

安装失败,当时没有留截图,忘记报错是什么了,这个如果安装成功会显示complete,而且不需要安装4个依赖(GCC++等等)

好吧,额滴神哦。我也没有继续搜解决方案。此路不通,换条路走,条条大路通罗马,那就采用源码方式安装吧。
源码方式安装请看其他博客

认识nginx和配置nginx

啊哦,安装不成功。大致报错内容就是
出现‘struct crypt_data’没有名为‘current_salt’的成员 cd.current_salt[0]
原因:安装的版本过低,
解决方式:源码下载最新的nginx
success!

安装docker

使用java怎么能没有docker呢,docker的安装也是本次能够安装成功的重要功臣之一。老样子,采用以前的方式安装docker,估计应该不大行。
第一步:

 curl -fsSL https://get.docker.com -o get-docker.sh

第二步:

 sudo sh get-docker.sh

第三步:

sudo systemctl start docker

第四步:

docker ps

果然后面报错
Unsupported distribution 'alinux’

换一种方式安装(成功)
第一步 yum update 更新到最新

yum update

第二步: 安装docker

 yum install -y docker-engine

这段过程时间比较长,我们可以去操作干一些其他的事情,比如我这段时间又打开了一个新的会话安装nginx。

第三步: 启动docker

systemctl start docker.service

第四步: 查看docker 版本,验证是否成功

docker version

第五步:查看docker容器(可选)

docker ps

第六步: 查看docker 镜像(可选)

docker images

安装Mysql

mysql安装这里面花费了很长的时间,尝试了三种方式才安装成功。
第一种:yum 安装 (失败)
第二种:源码安装(失败)
第三种:docker镜像安装(成功)

所以说后面的成功得亏是docker大酱(将)出马,要不然还是凉了。
第一种 yum安装
以前的centos版本服务器如果不用到docker,基本上都是通过第一种方式安装的
1、yum源安装mysql

yum -y install mysql-server

2、开机启动

chkconfig mysqld on

3、启动mysql

service mysqld start

4、连接mysql,连接成功后,输入框前面会显示 mysql>

mysql -u root

5、在mysql中查询用户和密码

select user,host,password from mysql.user;

6、因为安装成功后,默认没有密码,需要设置密码。

set password for root@localhost=password('xiaofeng');

7、保存配置

flush privileges;

8、退出

exit

—最后以失败告终,其中第一步就失败了,后面的步骤主要提供给大家看一下–

第二种 源码安装
安装方式参考这个博客(失败)
在这里插入图片描述
缺少依赖,小友们可以yum这个包的依赖安装,博主当时也只是尝试一下。

第三种 docker安装(简单、有效、快捷)
如果道友们服务器上有docker的情况下,强烈建议大家使用docker安装mysql。

1、查询mysql

docker search mysql

在这里插入图片描述
2、下载mysql5.7镜像

docker pull mysql:5.7

3、创建容器并启动
密码:123456
-name 容器名称为mysql5.7

  • p端口映射:3306->3306
    -i 以交互模式运行容器,通常与 -t 同时使用;
    -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    -d 后台运行容器,并返回容器ID;
    -e 传递环境变量
docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

4、查看启动的容器

docker ps

rabbitMQ和redis以及jdk同上就不复述了.

jar包部署
jar包上传到服务器中后需要先下拉adoptopenjdk/openjdk8-openj9的镜像

jar包部署代码

cd /home/csg/csg-center
docker build -t csg-center .
docker stop csg-center
docker rm csg-center

docker run -d -p 8761:8761 --name=csg-center csg-center --log-opt max-size=10m --log-opt max-file=3
docker logs csg-center

docker build -t csg-scada-manage .
docker-compose up -d 



cd /home/csg/csg-config
docker build -t csg-config .
docker stop csg-config
docker rm csg-config
docker run -d -p 8750:8750 --name=csg-config csg-config --log-opt max-size=10m --log-opt max-file=3
docker logs csg-config


cd /home/csg/csg-auth
docker build -t csg-auth .
docker stop csg-auth
docker rm csg-auth
docker run -d -p 9777:9777 --name=csg-auth csg-auth --log-opt max-size=10m --log-opt max-file=3
docker logs csg-auth

cd /home/csg/csg-admin
docker build -t csg-admin .
docker stop csg-admin
docker rm csg-admin
docker run -d -p 8762:8762 --name=csg-admin csg-admin --log-opt max-size=10m --log-opt max-file=3
docker logs csg-admin

cd /home/csg/csg-gate
docker build -t csg-gate .
docker stop csg-gate
docker rm csg-gate
docker run -d -p 8765:8765 --name=csg-gate csg-gate
docker logs csg-gate




cd /home/csg/csg-scada-manage
docker build -t csg-scada-manage .
docker stop csg-scada-manage
docker rm csg-scada-manage
docker run -d -p 8766:8766 --name=csg-scada-manage csg-scada-manage -v /etc/localtime:/etc/localtime:ro --log-opt max-size=10m --log-opt max-file=3
docker logs csg-scada-manage


cd /home/csg/csg-scada-task
docker build -t csg-scada-task .
docker stop csg-scada-task
docker rm csg-scada-task
docker run -d -p 8763:8763 --name=csg-scada-task csg-scada-task -v /etc/localtime:/etc/localtime:ro --log-opt max-size=10m --log-opt max-file=3
docker logs csg-scada-task




service docker start

docker stop csg-center
docker stop csg-scada-task
docker stop csg-scada-manage
docker stop  csg-admin
docker stop csg-gate
docker stop csg-auth
docker stop csg-config

docker start csg-center
docker start csg-config
docker start csg-auth
docker start  csg-admin
docker start csg-gate
docker start csg-scada-manage
docker start csg-scada-task 

csg-admin的 DockerFile文件

FROM adoptopenjdk/openjdk8-openj9
VOLUME /tmp
ADD csg-admin.jar app.jar
ADD wait-for-it.sh /wait-for-it.sh
RUN sh -c 'touch /app.jar'  && echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]


  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
银河麒麟是一款基于麒麟操作系统开发的Linux发行版。关于使用docker安装mysql,我发现了一种简单、有效、快捷的方法。可以按照以下步骤进行操作: 1. 如果你的服务器上已经安装docker,请确保docker已经启动。 2. 打开终端,运行以下命令来拉取mysql镜像并创建一个mysql容器: ``` docker run --name=mysql-container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=your_password -d mysql:latest ``` 这个命令会从Docker Hub上拉取最新的mysql镜像,并在本地创建一个名为mysql-container的容器。 请将your_password替换为你自己设定的密码。 3. 使用以下命令来查看容器是否成功启动: ``` docker ps -a ``` 如果你能看到mysql-container的状态为运行中,说明容器已经成功启动。 此时,你可以使用远程工具(如Navicat)来连接docker中的mysql数据库。如果你在连接时遇到问题,可能是因为mysql的密码模式和主机等内容需要进行修改。在MySQL 8.x版本中,必须使用mysql_native_password模式才能正确连接。你可以按照以下步骤进行修改: 1. 进入mysql容器: ``` docker exec -it mysql-container bash ``` 2. 连接mysql服务器: ``` mysql -u root -p ``` 输入之前设置的密码。 3. 修改密码模式和允许远程连接: ``` ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; ``` 请将your_password替换为你自己设定的密码。 4. 刷新权限: ``` FLUSH PRIVILEGES; ``` 经过以上步骤,你应该可以正确连接到docker中的mysql数据库了。希望这些信息对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【银河麒麟国产服务器安装mysqlnginxdocker遇到问题】(回忆)](https://blog.csdn.net/qq_36622149/article/details/122975727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [麒麟v10 linux 下docker安装mysql8](https://blog.csdn.net/qq_38224386/article/details/130343228)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值