一、CentOS8离线部署
很多情况下我们遇到的部署环境往往是那么残酷,服务器不能连外网,用不了yum、apt,服务器上的系统,干干净净。最起码的编译环境都没有。这个时候,看到这篇文章,是老弟实操整理了一个多月的部署过程的结果。
如果有老铁喜欢要转载记得标明出处,有看不明白的老铁可以加我QQ3228688888,互相交流学习。
(一)、gcc、cmake、make安装
如果你的系统上没有以上三个软件,那么一定要安装一下,因为很常用的三个东西。
1. 提示
离线部署的话,要提前安装gcc、cmake这些依赖,一定要注意以下压缩文件的版本(版本不能随意,不然在执行的时候会报错)。
后面所有操作都在root权限下操作。进入root的命令是:
su
终端强制安装命令——【命令需要在安装包目录下执行】
rpm -ivh *.rpm --nodeps –force
2. 检查是否安装成功:
gcc -v
cmake -version
make -v
这是需要安装的几个系统必备包。
(二)、JDK部署
1. jdk上传到/usr/local 下
(1)解压jdk压缩包
tar -zxvf jdk-8u131-linux-x64.tar.gz
(2) 配置环境变量
进入profile文件
vim /etc/profile
把下列内容在最后粘贴进去
export JAVA_HOME=/usr/java/jdk1.8.0_271
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
(3)检查jdk版本
java -version
(4)补充
如果之前有部署过的,像下面一样用“:”分隔
(三)、MySQL8部署
1. 压缩包上传到/usr/local下
2. 解压文件
tar -zxvf mysql-8.0.11-linux-glibc2.12-i686.tar.gz
3.重命名解压后的文件夹
mv mysql-8.0.11-linux-glibc2.12-i686 /usr/local/mysql
4.在MySQL根目录下新建一个文件夹data,用于存放数据
mkdir data
5.改变 mysql 目录权限
chown -R mysql.mysql /usr/local/mysql/
6. 初始化数据库,初始化完成之后记得记录好密码
创建mysql_install_db安装文件,然后初始化
mkdir mysql_install_db
chmod 777 ./mysql_install_db
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7. 设置数据库不区分大小写
修改配置文件vi /etc/my.cnf,然后在[mysqld] 下添加:lower_case_table_names=1
lower_case_table_names=1
8. 建立MySQL服务
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
9. 添加到系统服务
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
检查服务是否生效
chkconfig --list mysqld
10. 配置全局环境变量
vi /etc/profile
编辑profile文件
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH
让配置文件立马生效
source /etc/profile
11. 登录mysql,修改密码
mysql -uroot -p密码
修改密码:
SET PASSWORD FOR 'root'@localhost=PASSWORD('123456'); #对应的换成你自己的密码即可了。
12. 设置可以远程登录
先登录mysql,在mysql里操作
use mysql
update user set host='%' where user='root' limit 1;
刷新权限
flush privileges;
然后检查3306端口是否开放
netstat -nupl|grep 3306
开放3306端口
firewall -cmd --permanent --add-prot=3306/tcp
重启防火墙
firewall -cmd --reload
13. 执行数据库脚本
①先登录mysql数据库,输入命令 mysql -u root -p密码
②再使用数据库XX, use XX
③导入备份文件. source /home/backup/XXX.sql
(四)、Nginx部署
1. 压缩包上传到usr/local下
2. 安装依赖包
unzip 安装包名字
注意:三个依赖包
./congfigure
make
make install
3. 安装nginx
tar -zxvf nginx.tar.gz
./configure --prefix=/usr/local/nginx
make && make install
4. 把前端目录放到到nginx目录下的html里,然后修改配置文件。
修改页面的启动路径,端口号,有可能会需要改servername
5. 注意事项:如果提示没有权限访问,是要授权才能访问的,授权命令如下
“%%%%”代表你得nginx路径
chmod 755 -R %%%%/html/manage
(五)、RocketMQ部署
1. 解压
unzip rocketmq-all-4.4.0-bin-release.zip
2. 启动
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
nohup sh bin/mqbroker -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/broker.log
(六)、Redis部署
1. 解压编译安装
tar -zxvf redis-3.2.12.tar.gz
cd redis-3.2.12
make && make install
2. 修改redis密码
//修改密码在redis.conf中,如果不明白,看下面图
vi /usr/local/redis/redis.conf
requirepass 123456
3. 重启redis,验证密码是否设置成功。
重启redis,让配置文件生效
service redis restart /etc/redis/redis.conf
进入redis
redis-cli
验证密码设置是否成功
config get requirepass
(七)、Minio部署
1. 官网地址:https://docs.minio.io/
2.进入到需要minio的上传目录
在这里发表一下个人感慨,minio这个软件真的很喜欢,部署都是这么简介,直接给一个二进制文件。爆赞!
cd /usr/local/minio
chmod +x minio
./minio server /data
(九)、补充——端口操作
- 查看哪些端口被打开 netstat -anp
- 关闭端口号:iptables -A INPUT -p tcp --drop 端口号-j DROP
iptables -A OUTPUT -p tcp --dport 端口号-j DROP - 打开端口号:iptables -I INPUT -ptcp --dport 端口号 -j ACCEPT
- 以下是linux打开端口命令的使用方法。
nc -lp 23 &(打开23端口,即telnet)
netstat -an | grep 23 (查看是否打开23端口) - linux打开端口命令每一个打开的端口,都需要有相应的监听程序才可以
- systemctl stop firewalld
- 打开端口后保存 # iptables-save > /etc/sysconfig/iptables 在/etc/rc.d/rc.local中加入/sbin/iptables-restore /etc/sysconfig/iptables (命令为# iptables-restore < /etc/sysconfig/iptables) 可解决开放端口重启失效问题 CentOS7防火墙命令操作 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。 打开3306端口:firewall-cmd --add-port=3306/tcp --permanent firewall:
1. systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动