目录
问题:centos The requested URL returned error: 404 Not Found
问题:MobaXterm连不上
问题:自定义ip后续
问题:虚拟机繁忙
问题:ping: www.baidu.com: Name or service not known
JDK1.8配置
MySQL5.7.24
Docker
问题:Docker镜像下载速度过慢,中途卡住,变更下载源
问题:sudo: yun-config-manager:找不到命令
问题:Bind for 0.0.0.0:3306 failed: port is already allocated.端口占用
Docker安装MySQL5.7.24
修改Docker容器端口
重新开机无法删除Docker容器
结束命令执行,返回输入命令模式
status状态解释
修改my.cnf文件
多台MySQL安装容器
自定义MySQL的my.cnf配置
docker安装MariaDB
部署Tomcat
更改tomcat镜像源(阿里云)
问题:访问tomcat 404
问题:rm: cannot remove 'webapps': Device or resource busy
注意:不需要重启tomcat,只需要将原本的webapps所有文件放到/usr/local/tomcat/webapps这下面就可以了!!!
部署Nginx
部署Redis
问题:自定义配置文件启动
问题:root用户变成bash-4.2#
linux克隆
部署mariaDB
主从复制
问题: Slave_IO_Running: No Slave_SQL_Running: No
问题:1045 (28000): Access denied for user 'root'@'localhost' (using password)
问题:1130 - Host XXX is not allowed to connect to this MySQL server
注意点:主从复制,不能更改从表,一旦变更从表,主从同步就会出现失效!
解决方案:方案一:
方案二:
问题:root密码忘记,重新设置密码
问题:网卡重启失败Restarting network (via systemctl): Job for network.service failed
问题:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
mycat
查看容器的镜像
删除镜像
首先根据百度排查过后,发现linux版本过老造成,我安装的centos6,几年前安好后没有管,突然这几天重新捡起来,发现连不上网,ip也通,百度都可以ping。
唯独yum install 不能操作,看点才发现2020年11月30日停止维护,继而使得什么阿里的镜像网还是什么网易,都不能提供下载。
老版本不行,我就重新下个centos7.
下好后,还是不能联网。
想要进行ifconfig都不行,查询ip
经过百度,修改/etc/sysconfig/network-scripts/ifcfg-ens33配置文件
将ONBOOT权限改为yes
重启网络服务,输入sudo service network restart
解决方案自行百度,ifconfig还是不行,需要下载yum install net-tools
下载后可以使用了,再用这个工具MobaXterm一连,一切都简单起来。
-------------------2020年12月30日更新开始-----------------------------------
今天又遇到一个奇怪的问题,虚拟机上的linux长时间不操作,断开连接了。
ip地址出现变更,MobaXterm连不上了。需要重新去配置一下永久的ifconfig文件,否则重启就会变更ip。
最奇怪的问题,昨天晚上好好用的ifconfig,今天就不行了!!!
无论是重装还是各种百度,使出浑身解数,脑瓜子嗡嗡的!还是不行。。。
灵机一动,尝试sudo ifconfig命令执行
ok!!!
ip重新查询出来,长舒一口气。
-------------------2020年12月30日更新结束-----------------------------------
-------------------2020年12月31日更新开始-----------------------------------
按照百度的方式,直接修改/etc/sysconfig/network-scripts/ifcfg-ens33配置文件
IPADDR=192.168.3.20
无效ip地址
ping也通,ssh也打开了,防火墙也关了。
然后使用MobaXterm工具ssh连接,连接超时
Network error: Connection timed out
经过排查,发现BOOTPROTO=dhcp,此时ip地址是不固定的,每次重新连接网络后,会有一个新的ip地址。
但是重启虚拟机还是重启网络服务,今天的ip地址依然是固定的,可能超过一定时间不操作,ip地址才会进行变更。
明天再来看看,是否彻底解决。
解决问题方案
当你的配置文件BOOTPROTO还处于dhcp时,通过sudo ifconfig查询此时你的ip地址,然后修改配置文件里的IPADDR,修改为你现在linux的ip地址,大功告成,完美解决!
其他配置可以不用修改,什么DNS、网关、子网掩码都不用,网关如果你在ifcfg-ens33修改了,就不需要在resolv.conf里去配置。
因为那里会受到ifcfg-ens33控制,不信你可以改了后重启网络服务,你会发现原本的nameserver会有变更
重启网卡服务命令
service network restart
-------------------2020年12月31日更新结束-----------------------------------
-------------------2021年02月14日更新开始-----------------------------------
将安装的os文件路径下的,所有带有lck,这几个文件主要是进程占用,删除后丢失一段时间的操作。
这个问题莫名其妙,又一次开机玩玩linux,就不行了。百度之类的解决方案没用,反而更多问题了..........
重新安装centos7,这次记录下本次安装相关软件全过程。
随机生成的网络配置,可以借鉴
HWADDR=00:0C:29:43:06:0B
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV4_DNS_PRIORITY=100
IPV6INIT=no
NAME=ens33
UUID=97cc58d0-eb52-4831-90cc-46f2f759c6e4
DEVICE=ens33
ONBOOT=yes
USERS=hikkt
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=91ad41e5-0b02-40b5-86d6-30cfc225ec4c
DEVICE=ens33
ONBOOT=yes
# 修改点 - 开始
# 静态IP
IPADDR=192.168.135.20
# 子网掩码
GATEWAY=192.168.136.2
# 主DNS
DNS1=8.8.8.8
# 备DNS
DNS2=8.8.4.4
# 网关
NETMASK=255.255.255.0
# 修改点 - 结束
PREFIX=24
IPV6_PRIVACY=no
HWADDR=00:0C:29:43:06:0B
重启网络服务
service network restart
ping www.baidu.com -c 3
PING www.wshifen.com (104.193.88.77) 56(84) bytes of data.
64 bytes from 104.193.88.77 (104.193.88.77): icmp_seq=1 ttl=128 time=197 ms
# 创建文件夹
[root@localhost java]# mkdir -p /usr/local/src/jdk
# 检查是否还有老版本jdk
[root@localhost java]# rpm -qa | grep -i jdk
# 删除老版本jdk
[root@localhost docker]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
[root@localhost docker]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
[root@localhost docker]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
[root@localhost docker]# java -version
-bash: /usr/bin/java: 没有那个文件或目录
# 切换到安装路径
[root@localhost /]# cd /usr/local/src/jdk/
# 解压下载好的jdk1.8
[root@localhost jdk]# tar zxvf "/usr/local/src/jdk/jdk-8u11-linux-x64.tar.gz"
# 修改java环境配置
[root@localhost ~]# vi /etc/profile
export JAVA_HOME=/usr/local/src/jdk/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 重启服务
[root@localhost ~]# source /etc/profile
# 验证jdk安装成功与否
[root@localhost ~]# java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
# 切换到文件路径
[root@localhost ~]# cd /usr/local/src
# 解压下载好的mysql
[root@localhost src]# tar zxvf "/usr/local/src/mysql/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz"
# 1、yum 包更新到最新
yum update
# 国内 daocloud 一键安装命令
[root@localhost src]# curl -sSL https://get.daocloud.io/docker | sh
# 验证docker
[root@localhost ~]# docker -v
Docker version 20.10.3, build 48d30b5
cd /etc/docker
新建一个daemon.json文件
{ "registry-mirrors":["https://almtd3fa.mirror.aliyuncs.com"] }
重启docker
service docker restart
# 2、安装需要的软件包, yum‐util 提供yum‐config‐manager功能,另外两个是devicemapper驱动依赖的
yum install ‐y yum‐utils device‐mapper‐persistent‐data lvm2
# 刷新命令
[root@localhost ~]# sync
[root@localhost ~]# sync
# 设置yum源(阿里云)
[root@localhost ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
# 启动 Docker
[root@localhost ~]# systemctl start docker
# 搜索mysql镜像
[root@localhost ~]# docker search mysql
# 拉取mysql镜像
[root@localhost ~]# docker pull mysql:5.6
# 删除容器
[root@localhost mysql]# rm -f c_mysql
# rm Remove one or more containers
# rmi Remove one or more images
[root@localhost mysql]# docker rm 33946ec6ecff
# 查看所有容器
[root@localhost mysql]# docker ps -a
# 删除占用的容器
docker container rm c_redis
[root@localhost mysql]# docker run -itd --name c_mysql -p 3306:3307 -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/logs/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
888387a76ce6a1fb4321c3dd9ddc1cbfe4170209f336b9782e3e55d88099b15f
[root@localhost mysql]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
888387a76ce6 mysql:5.6 "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 0.0.0.0:3306->3306/tcp c_mysql
# 参数说明
-p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
-v your_directo/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的
/etc/mysql/my.cnf。配置目录
-v your_directo/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
-v your_directo/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目
录
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
# 进入容器,操作mysql
[root@localhost mysql]# docker exec -itd c_mysql /bin/bash
最后通过Navicat for mysql 软件连接,测试成功!
后续持续更新
---------------------------2021年2月14日结束----------------------------------------
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker search mysql
[root@localhost ~]# docker pull mysql:5.7.24
[root@localhost mysql]# docker ps -a
[root@localhost mysql]# docker stop c_mysql
c_mysql
[root@localhost mysql]# vi "/var/lib/docker/containers/888387a76ce6a1fb4321c3dd9ddc1cbfe4170209f336b9782e3e55d88099b15f/hostconfig.json"
"PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3306"}]} → "PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3307"}]}
[root@localhost mysql]# service docker restart
Redirecting to /bin/systemctl restart docker.service
[root@localhost mysql]# systemctl start docker
[root@localhost mysql]# docker start c_mysql
c_mysql
[root@localhost mysql]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33946ec6ecff mysql:5.7.24 "docker-entrypoint.s…" 35 minutes ago Up 53 seconds 33060/tcp, 0.0.0.0:33306->3306/tcp b_mysql
888387a76ce6 mysql:5.6 "docker-entrypoint.s…" 14 hours ago Up 8 seconds 0.0.0.0:3307->3306/tcp c_mysql
正常格式
33060/tcp, 0.0.0.0:33306->3306/tcp
错误格式
0.0.0.0:3307->3306/tcp
结论:修改端口号,并没有起作用,Navicat for mysql无法正常连接。方案:删除容器,重新配置。
# 提升权限
[root@localhost mysql]# sudo su
# 删除容器
[root@localhost mysql]# rm -f c_mysql
ctrl+\
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33946ec6ecff mysql:5.7.24 "docker-entrypoint.s…" 19 minutes ago Exited (0) 12 minutes ago b_mysql
888387a76ce6 mysql:5.6 "docker-entrypoint.s…" 13 hours ago Exited (1) 4 minutes ago c_mysql
Exited (0)表示为正常退出
# 只需要重新启动容器
[root@localhost mysql]# docker start c_mysql
[root@localhost mysql]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33946ec6ecff mysql:5.7.24 "docker-entrypoint.s…" 22 minutes ago Up 18 seconds 33060/tcp, 0.0.0.0:33306->3306/tcp b_mysql
888387a76ce6 mysql:5.6 "docker-entrypoint.s…" 13 hours ago Up 4 seconds 3306/tcp c_mysql
Up 表示正常启动
# 进入容器
[root@localhost ~]# docker exec -it 3de8e50705e9 /bin/bash
root@3de8e50705e9:/# ls
bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@3de8e50705e9:/# cd /etc
root@3de8e50705e9:/etc# ls
X11 c_mysql dpkg gshadow inputrc ld.so.conf.d machine-id opt perl rc3.d rmt shells systemd
adduser.conf cron.daily environment gshadow- issue ldap mke2fs.conf os-release profile rc4.d securetty skel terminfo
alternatives debconf.conf fstab host.conf issue.net libaudit.conf motd pam.conf profile.d rc5.d security ssl timezone
apt debian_version gai.conf hostname kernel localtime mtab pam.d rc0.d rc6.d selinux staff-group-for-usr-local update-motd.d
bash.bashrc default group hosts ld.so.cache login.defs mysql passwd rc1.d rcS.d shadow subgid
bindresvport.blacklist deluser.conf group- init.d ld.so.conf logrotate.d nsswitch.conf passwd- rc2.d resolv.conf shadow- subuid
root@3de8e50705e9:/etc# cd mysql
# 找到my.cnf文件
root@3de8e50705e9:/etc/mysql# ls
conf.d my.cnf my.cnf.fallback mysql.cnf mysql.conf.d
# 查看my.cnf文件
root@3de8e50705e9:/etc/mysql# tail my.cnf
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
root@3de8e50705e9:/etc/mysql#
将my.cnf文件的内容复制到一个地方,以my.cnf临时存放,最后替换掉容器里的my.cnf。
my.cnf
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
symbolic-links=0
# 服务端字符集
character-set-server=utf8
# 开启复制操作 [必须]启用二进制日志
log-bin=mysql-bin
# master is 1 [必须]服务器唯一ID,默认是1
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#默认存储引擎
default-storage-engine = InnoDB
#忽略表大小写
lower_case_table_names = 1
root@3de8e50705e9:/etc/mysql# exit
exit
[root@localhost ~]# docker cp /root/docker/mysql/my.cnf 3de8e50705e9:/etc/mysql
[root@localhost ~]# docker exec -it 3de8e50705e9 /bin/bash
root@3de8e50705e9:/# cd /etc/mysql
root@3de8e50705e9:/etc/mysql# tail my.cnf
# ▒▒▒▒▒Ʋ▒▒▒ [▒▒▒▒]▒▒▒ö▒▒▒▒▒▒▒־
log-bin=mysql-bin
# master is 1 [▒▒▒▒]▒▒▒▒▒▒ΨһID▒▒Ĭ▒▒▒▒1
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#Ĭ▒ϴ洢▒▒▒▒
default-storage-engine = InnoDB
#▒▒▒Ա▒▒Сд
lower_case_table_names = 1
root@3de8e50705e9:/etc/mysql#
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
mkdir data
mkdir conf
mkdir logs
[root@localhost mysql]# docker run -itd --name c_mysql -p 3307:3306 -v $PWD/data:/var/lib/c_mysql -v $PWD/conf:/etc/c_mysql/conf.d -v $PWD/logs:/var/logs/c_mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
c17eb46c3b6fa87e5016eb3755ef4b2c94de17ff0860cc84d4f4ccd8345db11a
[root@localhost mysql]# docker run -it --name b_mysql -p 33306:3306 -v $PWD/data:/var/lib/b_mysql -v $PWD/conf:/etc/b_mysql/conf.d -v $PWD/logs:/var/logs/b_mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.24
# 显示这个安装成功,按ctrl+\ 继续
Version: '5.7.24' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL)
# 最后通过Navicat for mysql 软件连接,测试成功!
默认my.cnf路径:/etc/my.cnf
docker run -it --name a_mysql -p 3307:3306 -v $PWD/mysql/data:/var/lib/a_mysql -v $PWD/mysql/conf:/etc/a_mysql/conf.d -v $PWD/mysql/logs:/var/logs/a_mysql -v $PWD/mysql/conf/my.cnf:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
# 搜索tomcat镜像
docker search tomcat
[root@localhost mysql]# sudo mkdir -p /etc/docker
[root@localhost mysql]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["https://tvd9khiq.mirror.aliyuncs.com"]
> }
> EOF
{
"registry-mirrors": ["https://tvd9khiq.mirror.aliyuncs.com"]
}
[root@localhost mysql]# sudo systemctl daemon-reload
[root@localhost mysql]# sudo systemctl restart docker
# 拉取tomcat镜像
docker pull tomcat
# 创建容器,设置端口映射、目录映射
mkdir ~/tomcat
cd ~/tomcat
docker run -id --name=c_tomcat -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps tomcat
参数说明:
-p 8080:8080:将容器的8080端口映射到主机的8080端口
-v $PWD:/usr/local/tomcat/webapps:将主机中当前目录挂载到容器的webapps
[root@localhost ~]# docker exec -it 9131afda9d4b /bin/bash
root@9131afda9d4b:/usr/local/tomcat# ls -l
total 128
-rw-r--r--. 1 root root 18982 Dec 3 11:48 BUILDING.txt
-rw-r--r--. 1 root root 5409 Dec 3 11:48 CONTRIBUTING.md
-rw-r--r--. 1 root root 57092 Dec 3 11:48 LICENSE
-rw-r--r--. 1 root root 2333 Dec 3 11:48 NOTICE
-rw-r--r--. 1 root root 3257 Dec 3 11:48 README.md
-rw-r--r--. 1 root root 6898 Dec 3 11:48 RELEASE-NOTES
-rw-r--r--. 1 root root 16507 Dec 3 11:48 RUNNING.txt
drwxr-xr-x. 2 root root 4096 Jan 13 08:25 bin
drwxr-xr-x. 1 root root 22 Feb 14 15:56 conf
drwxr-xr-x. 2 root root 4096 Jan 13 08:25 lib
drwxrwxrwx. 1 root root 177 Feb 14 15:56 logs
drwxr-xr-x. 2 root root 134 Jan 13 08:25 native-jni-lib
drwxrwxrwx. 2 root root 30 Jan 13 08:25 temp
dr-xr-x---. 6 root root 187 Feb 14 13:47 webapps
drwxr-xr-x. 7 root root 81 Dec 3 11:45 webapps.dist
drwxrwxrwx. 1 root root 22 Feb 14 15:56 work
rm -rf webapps执行这个命令,报错!!!
root@9131afda9d4b:/usr/local/tomcat# umount -rf webapps
umount: /usr/local/tomcat/webapps: must be superuser to unmount.
root@9131afda9d4b:/usr/local/tomcat# mv webapps.dist webapps
root@9131afda9d4b:/usr/local/tomcat# exit
webapps.dist里面的文件有ROOT、manager、host-manager、examples、docs文件,将所有文件移出,移到/root/tomcat/ 下面就行了。不能有任何中间文件夹。
原因:tomcat需要直接访问webapps文件夹 ,/usr/local/tomcat 这个就是你设置的-v,/usr/local/tomcat/webapps/
看上面这个查询文件,第一次查询是按照百度方案操作,仍然遗留问题!! /usr/local/tomcat/webapps/ 下面还是存在webapps.dist文件,这时想要解决,必须用命令把webapps.dist下面的文件移到/root/tomcat/下面就行了!!!
如果你是初学者,那么跟着我用的软件,这个软件可以直接可视化操作文件。
通过MobaXterm软件将webapps.dist下面的文件复制到本地硬盘,然后删除webapps.dist文件,在复制到/root/tomcat/下面就行了!!!
按照MobaXterm软件!!!
docker search nginx
docker pull nginx
# 在/root目录下创建nginx目录用于存储nginx数据信息
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf
# 在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容
vim 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;
}
[root@localhost ~]# cd nginx
docker run -id --name=c_nginx -p 80:80 -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/conf:/etc/nginx/conf.d -v $PWD/www:/usr/share/nginx/html -v $PWD/logs:/var/log/nginx -d 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/下创建default.conf文件,粘贴下面内容
server {
listen 80;
listen [::]:80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
docker search redis
docker pull redis:5.0
[root@localhost ~]# mkdir redis
[root@localhost ~]# cd redis
docker run -itd --name=c_redis -p 6379:6379 redis:5.0
# 停止redis容器
[root@localhost redis]# docker container stop c_redis
# 删除redis容器
[root@localhost ~]# docker container rm c_redis
# 安装redis容器
docker run -itd --name c_redis -v $PWD/redis/redis.conf:/etc/redis.conf -v $PWD/redis/data:/data -p 6381:6379 redis:5.0
# 查看配置文件是否成功
[root@localhost ~]# docker exec -it c_redis bash
下面就有了redis.conf文件。
[root@localhost ~]# cd redis
[root@localhost redis]# vi redis.conf
bind 192.168.135.132
port 6381
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize no
# 因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly no
# redis的log文件
#logfile "6379.log"
dir /redis/data
# redis的存放文件
dbfilename "dump-6381.rdb"
# 连接redis密码
requirepass 123456
原因:应该是昨天各种尝试配置tomcat,误操作删除掉了.bash_profile和.bashrc这两个文件。
只需要将/home/hikktn/下面的.bash_profile和.bashrc这两个文件复制到/root/下面就可以了。
最后切换一下用户
su root
先关机
poweroff(关机命令)
shutdown -h now 立刻关机(root用户使用)
# 获取网卡HWADDR信息
# 获取网卡的uuid信息
[root@localhost network-scripts]# uuidgen eth1
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vi ifcfg-ens33
按照下图变更修正配置即可
最后可以修改用户名
-bash-4.2# vim /etc/hostname
修改成你想要修改的名字即可。
最后重启网络
service network restart
# 卸载centos7自带的mariaDB
rpm -e mariadb-server
rpm -e mariadb
rpm -e nodeps mariadb-libs
两台虚拟机都要操作
# 下载mariaDB
[root@localhost ~]# yum -y install mariadb mariadb-server
[root@localhost ~]# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
[root@localhost ~]# vi /etc/my.cnf
忽略大小写
lower_case_table_names=1
# 启动mariaDB
systemctl start mariadb
# 开机自动启动mariaDB
systemctl enable mariadb
# 查看防火墙
[root@localhost ~]# systemctl status firewalld
# 查看防火墙是否运行
[root@localhost ~]# firewall-cmd --state
running(正在运行)
# 停止防火墙
[root@localhost ~]# systemctl stop firewalld
# 开机不启用防火墙
[root@localhost ~]# systemctl disable firewalld
# 设置mariaDB数据库
[root@localhost ~]# /usr/bin/mysql_secure_installation
192.168.135.132
# 登录mysql
mysql -u 用户名 -p
[root@localhost ~]# mysql -u root -p
# 创建主从连接帐号与授权
GRANT REPLICATION SLAVE ON *.* TO '主用户名'@'%' IDENTIFIED BY '密码';
MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave';
# 查询bglog文件名
show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 970 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
# 建立主从连接
192.168.135.133
[root@localhost ~]# mysql -u root -p
# CHANGE MASTER TO MASTER_HOST='主节点IP地址', MASTER_USER='主节点授权用户名', MASTER_PASSWORD='主节点授权用户的密码', MASTER_LOG_FILE='bglog文件名', MASTER_LOG_POS=bglog文件存放位置;
CHANGE MASTER TO MASTER_HOST='192.168.135.132', MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=970;
注意:语法前后的逗号不能有空格
# 查看主从状态
MariaDB [(none)]> show slave status\G;
Slave_IO_Running: No解决方案
[root@localhost ~]# vi /etc/my.cnf
修改这个配置无效,下面成功!
MariaDB [(none)]> set global server_id=2;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.00 sec)
MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)
Slave_SQL_Running: No解决方案
MariaDB [(none)]> stop slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)
MariaDB [(none)]> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)
# 退出mariaDB
exit
最后测试
MariaDB [(none)]> show grants;
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
1 row in set (0.00 sec)
@ 前面的用户名没有,始终无法连接!!!
MariaDB [(none)]> CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';
创建后,马上连接成功!!!
# 打开远程
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;
# 刷新
MariaDB [(none)]> FLUSH PRIVILEGES;
# 查询用户,端口,权限
MariaDB [(none)]> SELECT user, host, grant_priv FROM mysql.user;
创建的个人用户slave,创表不行
stop slave;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave;
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.135.132', MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=970;
start slave;
CentOS7版本
第一步,开机,立即按esc,进入选择系统页面
第二步,按E键,进入编辑
第三步,在文件的Linux16开头那一行,在末尾添加 init=/bin/sh
第四步,Ctrl+X,重启Linux,进入单用户模式
第五步,输入 ls 命令
第六步,回车
第七步,输入 mount -o remount,rw /
第八步,回车
第九步,输入 passwd
第十步,回车
第十一步,输入8位密码
第十二步,重复上一次输入的8位密码
第十三步,输入 touch /.autorelabel
第十四步,回车
第十五步,exec /sbin/init
第十六步,等待系统重新设置
第十七步,重启成功后,输入hostname localhost
第十八步,输入 su
完成大致的修改
[root@localhost ~] systemctl stop NetworkManager
[root@localhost ~] systemctl disable NetworkManager
[root@localhost ~]# service network restart
Restarting network (via systemctl): [ OK ]
[root@localhost ~]#
出现原因,虚拟机出现占用进程,直接把一台虚拟机干掉,造成很多问题,并且解决方案都不行,只能进行重新部署Linux。
# 开启防火墙
[root@localhost bin]# systemctl start firewalld
# 开放8066端口
[root@localhost bin]# firewall-cmd --permanent --add-port=8066/tcp
success
# 重启防火墙
[root@localhost bin]# firewall-cmd --permanent --list-ports
[root@localhost bin]# firewall-cmd --reload
success
或者直接关闭防火墙
systemctl stop firewalld
docker images
docker rmi --force IMAGE ID