CentOS7.6安装常用软件
在系统CentOS7.6下安装常用的软件,mysql,JDK,Tomcat,Rabbitmq,Kafka,Redis,Nginx。
安装mysql
mysql官网
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
mysql各个版本文档 官方说明
//mysql各个版本文档 官方说明
https://dev.mysql.com/doc/refman/
//MySQL 8.0参考手册
https://dev.mysql.com/doc/refman/8.0/en/
//MySQL 5.7参考手册
https://dev.mysql.com/doc/refman/5.7/en/
//MySQL 5.6参考手册
https://dev.mysql.com/doc/refman/5.6/en/
1 . 查看系统的版本信息
//查看系统版本号:Centos7.6
cat /etc/redhat-release
//内核版本是64位还是32位
uname -r
2 . 看系统是否安装了 wget 下载包软件
yum list installed | grep wget
//如果没有安装wget,则安装wget
yum install wget -y
3 . 查看是否安装了mariadb数据库,mariadb数据库是mysql的分支
yum list installed | grep mariadb
//如果安装了mariadb数据库,先卸载掉,因为CentOS 7.6 内部集成了mariadb,
//而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb
yum -y remove mariadb-libs.x86_64
3 . 获取mysql 安装包
//使用官网提供的 MySQL Yum Repository
//mysql的repo仓库地址
http://repo.mysql.com/
//yum仓库
https://repo.mysql.com/yum/
//从repo仓库下载mysql5.7 发行包
wget -i -c http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
4 . 安装mysql
//yum 安装mysql
yum -y install mysql57-community-release-el7-10.noarch.rpm
//安装mysql服务器
yum -y install mysql-community-server
5 . 启动mysql
//启动MySQL服务器
sudo service mysqld start
//重启mysql服务
sudo service mysqld restart
//检查MySQL服务器的状态
sudo service mysqld status
//停止mysql服务
sudo service mysqld stop
6 . 想进入MySQL还得先找出此时root用户的密码,在日志文件中找出密码
grep "password" /var/log/mysqld.log
//root@localhost
//密码像这个 &So/aZVlg5;p
&So/aZVlg5;p
7 . 进入数据库
mysql -uroot -p
8 . 修改密码;MySQL默认必须修改密码之后才能操作数据库:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test123;/p';
//密码设置必须要 大小写字母数字和特殊符号(,/';:等)
9 . 开启远程访问限制
//登录mysql,开启远程访问
grant all privileges on *.* to 'root'@'%' identified by 'Test123;/p' with grant option;
//或者
update user set host = '%' where user = 'root';
//更新
flush privileges;
//退出
exit
10 .firewalld添加开放端口;防火墙
//添加mysql端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//重新载入
firewall-cmd --reload
Centos 7 以后的防火墙设置命令是firewall
//开启防火墙
systemctl start firewalld.service
//关闭防火墙
systemctl stop firewalld.service
//关闭 开机启动:
systemctl disable firewalld.service
//开启开机启动:
systemctl enable firewalld.service
如果是腾讯云或者阿里云,要开启安全组,开放3306端口;
11 . 更改mysql的语言
//登录mysql ,查看语言
mysql -uroot -p
//mysql 的信息server characterset 是否是utf-8
status
不是utf-8,则退出mysql,进入etc目录下的my.cnf文件:
vi /etc/my.cnf
//添加以下代码
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character-set-server=utf8
collation-server=utf8_general_ci
一定要重启下mysql,然后登录mysql,输入status再次查看;
//重启mysql服务
service mysqld restart
vi 文件;i 进入编辑状态,esc退出编辑状态,:wq保存退出vi
12 . window下 cmd远程登录mysql,启动mysql
mysql -h 81.69.26.5 -p 3306 -u root -p
13 .MySQL开发人员专区的Linux RPM软件包的MySQL安装布局
文件或资源 | 位置 |
---|---|
客户端程序和脚本 | /usr/bin |
mysqld服务器 | /usr/sbin |
配置文件 | /etc/my.cnf |
资料目录 | /var/lib/mysql |
错误日志文件 | 对于RHEL,Oracle Linux,CentOS或Fedora平台: /var/log/mysqld.log 对于SLES: /var/log/mysql/mysqld.log
|
的价值 secure_file_priv
|
/var/lib/mysql-files |
系统V初始化脚本 | 对于RHEL,Oracle Linux,CentOS或Fedora平台: /etc/init.d/mysqld 对于SLES: /etc/init.d/mysql
|
系统服务 | 对于RHEL,Oracle Linux,CentOS或Fedora平台: mysqld 对于SLES: mysql
|
PID文件 | /var/run/mysql/mysqld.pid |
插座 | /var/lib/mysql/mysql.sock |
钥匙圈目录 | /var/lib/mysql-keyring |
Unix手册页 | /usr/share/man |
包含(头)文件 | /usr/include/mysql |
图书馆 | /usr/lib/mysql |
其他支持文件(例如,错误消息和字符集文件) | /usr/share/mysql |
==========================================
安装Jdk
1 . 查看是否已经安装jdk
rpm -qa|grep jdk
//如果有的话可以卸载
yum -y remove java java-1.8.0-openjdk
2 . 在服务器下usr目录下新建java文件夹
cd /usr/
mkdir java
cd java
3 . 下载jdk 1.8包
//jdk历史下载版本
https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html
//
wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm
https://download.oracle.com/otn/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.rpm
//登录Oracle后的下载地址
wget https://download.oracle.com/otn/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.rpm?AuthParam=1609059506_bae5374db1adf2a578bc9c66f5064eab
//下载后的文件重命名
mv jdk-8u202-linux-x64.rpm?AuthParam=1609059506_bae5374db1adf2a578bc9c66f5064eab jdk-8u202-linux-x64.rpm
//可以在window系统下在jdk-8u202-linux-x64.rpm,然后上传到CentOS7.6的/usr/java
4 . 开始安装
yum -y install jdk-8u202-linux-x64.rpm
5 . 配置环境
vi /etc/profile
//添加内容
#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_202
JRE_HOME=/usr/java/jdk1.8.0_202/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
//让修改的环境变量生效
source /etc/profile
6 . 查看是否安装成功
java -version
==============================
安装tomcat
tomcat 下载镜像地址
http://mirror.bit.edu.cn/apache/tomcat/
1 . 下载 tomcat 9
cd usr/local/tomcat/
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz
2 . 解压 apache-tomcat-9.0.41.tar.gz
tar -zxvf apache-tomcat-9.0.41.tar.gz
//解压完整后删除安装包(可以不删除)
rm -rf apache-tomcat-9.0.41.tar.gz
3 . 启动tomcat
//进入 tomcat的bin目录下:
./catalina.sh start
//或者
./startup.sh
//停止tomcat
./catalina.sh stop
//或者
./shutdown.sh
4 . 浏览器访问
如果是腾讯云或者阿里云,要把8080打开放到安全组
//看是否能打开
http://81.69.26.5:8080/
5 .防火墙设置
//看一下public区域下所有已打开的端口
firewall-cmd --zone=public --list-ports
//将8081端口加入到zone
firewall-cmd --zone=public --add-port=8081/tcp --permanent
//将8080端口加入到zone
firewall-cmd --zone=public --add-port=8080/tcp --permanent
//更新防火墙规则
firewall-cmd --reload
//
Centos 7 以后的防火墙设置命令是firewall
//开启防火墙
systemctl start firewalld.service
//关闭防火墙
systemctl stop firewalld.service
//关闭 开机启动:
systemctl disable firewalld.service
//开启开机启动:
systemctl enable firewalld.service
6 . 设置环境变量
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-9.0.41
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.41
export JRE_HOME=/usr/java/jdk1.8.0_202/jre
export JAVA_HOME=/usr/java/jdk1.8.0_202
vi /etc/profile
// 设置全局的 /etc/profile,只要输入 startup.sh 就可以启动tomcat
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.41
export PATH=$PATH:$CATALINA_HOME/bin
tomcat配置静态资源访问的三种方式:
1 .把静态资源(图片)放在webapps/ROOT目录下, 直接
http://xx.xx.xx.xx:8080
2 .
3 .
===============================
安装RabbitMQ
1 . Erlang下载
Erlang 和 Rabbitmq-server 版本对比:
https://www.rabbitmq.com/which-erlang.html
官方github
https://github.com/rabbitmq/erlang-rpm/releases
下载后erlang-23.2.1-1.el7.x86_64.rpm,把安装包上传到远程服务器/download/目录下:
//安装 erlang-23.2.1-1.el7.x86_64.rpm
yum -y install erlang-23.2.1-1.el7.x86_64.rpm
//查看erlang的版本
erl -version
2 . RabbitMQ server下载地址
https://www.rabbitmq.com/install-rpm.html
//查看rabbitmq-server历史版本
https://github.com/rabbitmq/rabbitmq-server/tags
下载后rabbitmq-server-3.8.9-1.el7.noarch.rpm,把安装包上传到远程服务器/download/目录下:
//安装rabbitmq-server-3.8.9-1.el7.noarch.rpm
yum -y install rabbitmq-server-3.8.9-1.el7.noarch.rpm
//如果没有socat,则安装socat
sudo yum -y install socat
如果有异常:
//查看进程情况
netstat -naop | grep 5672
//查看当前运行的java程序
ps -ef | grep java
3 .防火墙
//看一下public区域下所有已打开的端口
firewall-cmd --zone=public --list-ports
//将 4369 端口加入到zone
sudo firewall-cmd --zone=public --add-port=4369/tcp --permanent
//将 15672 端口加入到zone
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent
//将 5672 端口加入到zone
sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent
//将 25672 端口加入到zone
sudo firewall-cmd --zone=public --add-port=25672/tcp --permanent
//更新防火墙规则
firewall-cmd --reload
//
Centos 7 以后的防火墙设置命令是firewall
//开启防火墙
systemctl start firewalld.service
//关闭防火墙
systemctl stop firewalld.service
//关闭 开机启动:
systemctl disable firewalld.service
//开启开机启动:
systemctl enable firewalld.service
4 .开启web控制台插件
//开启web控制台插件
rabbitmq-plugins enable rabbitmq_management
//关闭web控制台插件
rabbitmq-plugins disenable rabbitmq_management
//把端口15672放入安全组,如有 宝塔控制面板安全添加端口15672,访问http://公网ip:15672是否打开
http://公网ip:15672
有一个默认的guest用户,但只能通过localhost访问,所以要添加一个能远程访问的用户
5 .添加用户 权限
//添加 admin 用户 密码
rabbitmqctl add_user admin admin
//分配操作权限
rabbitmqctl set_user_tags admin administrator
//分配资源权限
//设置权限<即开启远程访问>(如果需要远程连接,例如java项目中需要调用mq,
//则一定要配置,否则无法连接到mq,admin为要赋予远程访问权限的刚创建的那个账号的名字,
//必须运行着rabbitmq此命令才能执行)
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
=====================================
安装Kafka
官网地址
http://kafka.apache.org/intro
1 .Kafka下载
下载地址
http://kafka.apache.org/downloads
https://archive.apache.org/dist/kafka/2.3.0/kafka_2.11-2.3.0.tgz
//下载到window系统,解压 kafka_2.11-1.0.0.tgz,把解压后的文件上传到CentOS系统下 /opt/kafka_2.11-1.0.0
//进入目录
cd /opt/kafka_2.11-1.0.0
在目录是/opt/kafka_2.11-1.0.0,在这个目录下新建zookeeper_log和kafka_log文件,存放kafka的数据和zookeeper的数据;
a .修改/opt/kafka_2.11-1.0.0/config/zookeeper.properties:
//clientPort=2181 如果被占用,则改2182
clientPort=2182
//dataDir为数据保存路径,修改为刚才新建的目录
dataDir=/opt/kafka_2.11-1.0.0/zookeeper_log
b . 修改/opt/kafka_2.11-1.0.0/config/server.properties 配置文件:
//将advertised.listeners的注释打开
advertised.listeners
//(9092是默认端口)
advertised.listeners=PLAINTEXT://localhost:9092
//Log Basics
log.dirs=/opt/kafka_2.11-1.0.0/kafka_log
//2181端口被占用,则改2182
zookeeper.connect=localhost:2182
2 .启动zookeeper
cd /opt/kafka_2.11-1.0.0
//启动比较慢,启动后检查2181端口
bin/zookeeper-server-start.sh config/zookeeper.properties
//检查2181端口
netstat -anlpt | grep 2181
3 . 启动 kafka-server
cd /opt/kafka_2.11-1.0.0
bin/kafka-server-start.sh config/server.properties
启动报错:
-bash: bin/zookeeper-server-start.sh: Permission denied
//解决办法:加权限
//将zookeeper路径下的权限修改为当前操作用户,777权限
sudo chmod -R 777 kafka_2.11/
4 . 测试
//创建topic
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
//描述
bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
//单独开一个窗口 写
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
//单独开一个窗口 读
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
=======================================
安装Redis
英文介绍
https://redis.io/download
中文介绍
http://www.redis.cn/
1 . 下载 redis
//redis下载仓库
https://download.redis.io/releases/
//下载 redis-6.0.9.tar.gz
wget https://download.redis.io/releases/redis-6.0.9.tar.gz
//解压 redis-6.0.9.tar.gz
tar xzf redis-6.0.9.tar.gz
//
cd redis-6.0.9
//编译可能报错,下载或升级gcc
make
在make的时候可能报错:
先确认gcc是否安装:
//*查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5*
gcc -v
//安装gcc
yum -y install gcc-c++
//升级gcc
yum -y install centos-release-scl
//
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
//
scl enable devtoolset-9 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
这样退出shell重新打开就是新版的gcc了
以下其他版本同理,修改devtoolset版本号即可。
//在make 编译 redis-6.0.9下文件
make
执行安装命令
cd redis-6.0.9
make PREFIX=/usr/local/redis install
make install安装完成后,会在/usr/local/bin目录下生成下面几个可执行文件,它们的作用分别是:
redis-server:Redis服务器端启动程序
redis-cli:Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作 redis-benchmark:Redis性能测试工具
redis-check-aof:数据修复工具
redis-check-dump:检查导出工具
2 .配置 redis
复制配置文件到/usr/local/redis/bin目录
cd redis-6.0.9
cp redis.conf /usr/local/redis/bin
3 . 启动 redis 服务端
//启动 redis 服务端;可以用 Ctrl+C关闭窗口
cd /usr/local/redis/bin
./redis-server redis.conf
//查看redis进程
ps -aux | grep redis
4 . 启动 redis 客户端,复制窗口
//启动 redis 客户端
cd /usr/local/redis/bin
./redis-cli
> set f bbb
>get f
redis 指令手册
http://doc.redisfans.com/index.html
=======================================
安装 nginx
官方安装nginx文档
http://nginx.org/en/linux_packages.html#RHEL-CentOS
CentOS安装
1 . 查看系统是否安装nginx
yum list installed|grep nginx
//如果没有yum命令,则安装yum-utils
sudo yum install yum-utils
2 . 在/etc/yum.repos.d/nginx.repo,目录,创建新文件nginx.repo,并写入以下内容:
cd /etc/yum.repos.d/
vi nginx.repo
写入内容到 nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
3 . 默认情况下,使用稳定nginx包的存储库。如果要使用主线nginx包,请运行以下命令:[这个命令可以不执行]
sudo yum-config-manager --enable nginx-mainline
4 . yum安装nginx
yum -y install nginx
//查看 nginx 的安装位置及安装文件
rpm -qla|grep nginx
//查找安装路径:
whereis nginx
5 . 启动nginx
cd /usr/sbin
//启动nginx
./nginx
//查看nginx进程是否运行
ps -ef|grep nginx
6 . 开机自启动
//在etc目录下得rc.local文件,添加启动代码:
cd etc/
vi rc.local
//增加一行代码
/usr/sbin/nginx
执行权限:
sudo chmod 755 rc.local