概述
写在前面
主要是记录一下如何在centos服务器上搭建Java 服务器的过程(包括MySQL, Redis, Zookeeper和Nginx)。
一、Yum
Yum是centOS上的一个安装软件包的工具,能够自动处理依赖,可以很方便地安装软件。如果某个软件包能够直接用yum下载安装,应该首选它。
错误1. Cannot find a valid baseurl for repo: base/$releasever/x86_64
情景:使用yum命令进行安装或者更新的时候,此时可以ping通外网。
解决方法:应该是yum源链接不上,解决方法是替换一个源,参考博文yum使用报错:Cannot find a valid baseurl for repo: base。
错误2: http://mirrors.aliyun.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
情景:可以ping通外网,但仍然出现了404错误。
解决方法:Yum的源仓库地址如下,里面的每个.repo文件都记录了Yum安装软件时的数据来源。如果无法连接,出现了404错误,很有可能是里面的源地址配置错误或者无效或者冲突。通过vim xxx.repo
可以查看里面的内容。如果要修改CentOS-xxx.repo
,一定要注意事先备份,以免修改出现错误。
cd /etc/yum.repos.d # 进入目录
mv xxx.repo xxx.repo.backup # 拷贝源配置
vim xxx.repo # 查看里面的内容
rm -rf xxx.repo # 删除某个源配置
二、安装MySQL
主要参考博文:CentOS7安装MySQL(完整版)。
- 查看当前环境下是否有mysql版本,并删除所有相关文件。参考博文:Centos7 完全卸载mysql。
- 下载并安装MySQL官方的 Yum Repository。
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
- 用Yum安装MySQL。
yum -y install mysql57-community-release-el7-10.noarch.rpm
- 安装MySQL服务器。
yum -y install mysql-community-server
- 验证MySQL是否安装成功。
systemctl start mysqld.service # 启动服务
systemctl status mysqld.service # 查看服务状态
service mysqld stop # 关闭服务
service mysqld restart # 重启服务
- 登录MySQL控制台。
mysql -uroot -p
错误1:Public key for mysql-community-libs-5.7.38-1.el7.x86_64.rpm is not installed
情景:安装MySQL服务器时出现错误。
解决方法:公钥过期了,参考https://blog.csdn.net/m0_52869579/article/details/124881266,安装最新的密钥,然后重新执行安装即可。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 # 安装最新密钥
错误2:firewall-cmd: error: unrecognized arguments: --add-port-3306/tcp
情景:为MySQL开启防火墙端口3306.
解决办法:就是设置的命令行写错的,正确的如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启端口
其他的一些关于防火墙的操作:
firewall-cmd --state # 查询防火墙状态
systemctl status firewalld # 查询防火墙的详细信息
netstat -ntpl # 查看所有端口情况
systemctl start firewalld.service # 开启防火墙
systemctl stop firewalld.service # 关闭防火墙
firewall-cmd --reload # 重启防火墙
firewall-cmd --query-port=3306/tcp # 查询某个端口是否开启生效
注意:如果防火墙是开启状态,那么添加了端口之后还需要重启一次防火墙端口才能生效。
三、安装Zookeeper
主要参考博文CentOS下安装zookeeper和Centos7安装zookeeper详细流程(亲测绝对成功!)。
- 下载安装包
- 推荐使用国内的镜像源,如清华镜像,不要用apache官网的那个,很容易连接失败。进入镜像网站查找最新的安装包,然后用
wget
命令下载。 - 下载前最好先新建一个文件夹,然后进入该文件夹再下载,以免安装包管理混乱,不知道下载到哪里了。
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz --no-check-certificate
- 解压安装包
- 解压到
/usr/local
目录下。
tar -zxvf ./apache-zookeeper-3.6.3-bin.tar.gz -C /usr/local
- 重命名解压的文件夹
mv
命令可以用于重命名或者移动文件夹- 进入到
/usr/local
,用下面的写法相当于是重命名文件夹
mv ./apache-zookeeper-3.6.3-bin/ zookeeper-3.6.3
- 新建两个文件夹
cd zookeeper-3.6.3/
mkdir data
mkdir logs
- 用提供的模板创建一个配置文件
cd conf # 进入配置模板所在的文件夹
cp zoo_sample.cfg zoo.cfg # 复制一个配置文件
vim zoo.cfg # 修改配置文件
- 配置文件主要是增加和修改
dataDir
和dataLogDir
两处。
- 启动服务
- 脚本文件是在
zookeeper-3.6.3/bin
文件夹中。
cd bin
./zkServer.sh start # 启动zookeeper
./zkServer.sh stop # 停止zookeeper
./zkServer.sh status # 查看zookeeper状态
./zkCli.sh # 启动客户端,连接服务
- 启动客户端后,会进入客户端控制台,用
quit
退出客户端。一些客户端常用的命令可以参考博文ZooKeeper的简单使用。
四、安装redis
主要参考博文centOS 环境 安装redis方法。
- 下载安装包
- 下载源地址在这里:https://download.redis.io/releases/,可以在里面选择最新的版本下载。
- 下载前,注意先进入一个常用的保存下载文件的文件夹再下载,以免不知道下载到哪里或者安装包管理混乱。
wget https://download.redis.io/releases/redis-6.2.7.tar.gz
- 解压安装包
- 解压到
/usr/local
路径下。
tar -zxvf ./redis-6.2.7.tar.gz -C /usr/local
- 进入解压的
redis-6.2.7
文件夹中,编译源代码
- 该文件夹中的
src
文件夹中有Makefile文件,直接使用gcc编译的make
命令即可。 - 如果没有gcc,使用yum下载。
yum install gcc # 安装gcc
- 第一次运行
make
会报错,执行一次清理操作即可。
make distclean # 清理操作
- 然后就可以直接执行
make
命令
make # 在redis-6.2.7文件夹目录下执行编译
- 之后安装tcl8.5以上的资源包。
# 到放置下载安装包的文件夹中下载安装包
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
# 解压并将tcl8.6.1文件夹放到/usr/locol目录下
# 进入tcl8.6.1/unix目录,执行以下命令
./configure
make
make install # 确认安装
- 回到解压的
redis-6.2.7
文件夹中,执行
make test
确认是否所有的测试均通过。
- 启动服务器和客户端
此时的src
目录下已经含有多个可执行文件。
./redis-server # 运行redis服务器
./redis-cli # 运行redis客户端
- 配置到系统环境变量中
- 在
redis-6.2.7
文件夹中执行
# 将redis安装到这个目录下
make install PREFIX=/opt/practice/redis6
# 在该目录的bin下复制了所有redis的可执行文件
- 配置到环境变量中
vim /etc/profile
# 把下面两行添加到最后面
export REDIS_HOME=/opt/practice/redis6
export PATH=$PATH:$REDIS_HOME/bin
# 退出vim,使配置文件生效
source /etc/profile
- 配置端口,安装多个redis服务
- 进入
redis-6.2.7/utils
,执行
./install_server.sh
-
然后可以自己输入一个端口号,也可以用默认的端口号6379,然后一直回车或者修改默认的配置即可。
-
配置结束后可以用下面的命令来查看状态。
service redis_xxx status # 查看端口号绑定的服务
ps -ef|grep redis # 查看所有关于redis的进程和端口
错误1:Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
- 情景:用
ctrl+z
停止某个redis服务之后,重新执行./redis-server
出现错误。 - 原因:默认的6379端口仍然被占用。默认的调用
./redis-server
会使用默认的端口,导致调用失败。 - 解决方法:使用下面的命令查看是什么进制占用了端口,然后kill掉即可。
ps -ef|grep redis
错误2:This systems seems to use systemd. Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!
- 情景:配置端口和服务的使用调用
./install_server.sh
时出现错误。 - 解决方法:注释掉install_server.sh中的下面一段代码即可。参考:https://blog.csdn.net/dc282614966/article/details/113688273。
#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
# echo "This systems seems to use systemd."
# echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
# exit 1
#fi
五、安装Nginx
主要参考博文Centos系统上nginx安装。
- 用yum安装Nginx依赖包pcre
yum -y install pcre-devel
# 验证是否安装成功
pcre-config --version
- 安装其他依赖
yum -y install pcre-devel
yum -y install openssl openssl-devel
# 或者用下面的命令一次性安装
yum -y install openssl-devel pcre-devel zlib-devel
- 进入下载文件的文件夹目录,下载安装包
wget http://nginx.org/download/nginx-1.20.1.tar.gz
- 解压到
/usr/local
tar -zxvf ./nginx-1.20.1.tar.gz -C /usr/local
进入该解压的目录,执行
./configure # 配置
make
make install # 编译
- 进入
/usr/local/nginx/sbin
,启动nginx
./nginx # 启动nginx
ps -ef | grep nginx # 查看是否有nginx进程
netstat -anp | grep xxxx # 查看nginx占用的端口
- 开启防火墙的80端口
# 查看防火墙是否开启
systemctl status firewalld.service
# 查看端口开放情况
firewall-cmd --list-all
- 如果没有80端口开放,则执行:
# 永久开放http 80端口
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查看端口开放情况
firewall-cmd --list-al
- 局域网内可以通过:
ip:80
访问ngxin服务
- 查看ip地址方式
ip address
最后
以上就是干净小蚂蚁为你收集整理的CentOS 7:MySQL+Redis+Zookeeper+Nginx服务器环境搭建的全部内容,希望文章能够帮你解决CentOS 7:MySQL+Redis+Zookeeper+Nginx服务器环境搭建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复