好久没有写文章了。今天在centos部署jeecg遇到了些问题,主要还是生疏造成的。记录下,以备后续查阅。对环境部署不是太熟悉的也可以参考。内容不深,共同交流。
目录
一、安装centos操作系统
安装步骤网上有的事,在此推荐个链接供大家参考,我是按照此链接安装成功的。
https://www.runoob.com/w3cnote/vmware-install-centos7.html
几点说明,注意下:
1,系统安装之前关于虚拟机的几个配置注意事项:
网络配置:要选择“桥接模式”。(只要你IP地址不是十分紧张就可以选择此模式,外网访问比较方便。)
注意启动顺序:优先光盘启动(我是通过iso文件进行安装的)
2,SOFTWARE SELECTION的选择,选择“Basic Web Server”,这个是没有界面的服务器版
版本的区别大家可自行查阅,我个人不喜欢带界面的linux服务器。
二、安装软件
1,先说解释下“yum”命令的用法
推荐个文章:https://www.cnblogs.com/Formulate0303/p/11121270.html
此文章前面的介绍很简洁易懂,我粘贴了出来。
大概意思是:
Redhat、Centos 用命令“yum”
Debian、Ubuntu 用命令“apt-get”
yum、apt-get都是包管理工具
yum常用命令:yum install <package_name> 安装软件
yum remove <package_name> 删除软件
yum search <keyword> 搜索软件
yum list 可安装软件列表
下面我们开始软件安装之旅
2,安装 Java JDK
yum search jdk //查看资源包里有哪些可安装的Java版本
yum install java-1.8.0-openjdk-devel.x86_64 //选择版本开始安装
java -version //查看是否安装成功
安装成功
3,安装redis
直接安装yum install redis会提示没有此安装包,需要先下载fedora的epel仓库
yum install epel-release //下载fedora的epel仓库
yum install redis //再执行安装命令即可安装成功了
service redis start //启动redis命令
这里大家要注意及有可能提示“Rdirecting /bin/systemctl start redis.service”,意思是让你用/bin/systemctl start redis.service 启动,而不是service redis start。你就安装提示执行下此命令
/bin/systemctl start redis.service //启动成功
说明下原因:systemctl是service的升级版,centos7之后都用systemctl来替代了。也有一个说法是:systemctl=service+chkconfig。没验证过,不知道。不管他了,在centos7之后版本用 /bin/systemctl启动服务就对了。
推荐文章 https://blog.csdn.net/qq_38265137/article/details/83081881
service redis status //查看状态,(看redis是否正常启动了)
注意红色框,系统仍然建议你使用 systemctl 命令去执行,但是service命令也能使用。所有我估计上面那个service redis start已经启动成功了,当时没看状态。直接就执行了systemctl。
4,安装mysql
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm //下载安装包
yum -y install mysql57-community-release-el7-10.noarch.rpm //安装
yum -y install mysql-community-server //安装MySQL
systemctl start mysqld.service //启动Mysql
systemctl status mysqld.service //查看MySQL运行状态
推荐链接:https://www.cnblogs.com/brianzhu/p/8575243.html(后面会根据此篇文章讲解mysql配置)
5,安装nginx
yum install -y nginx //安装nginx
whereis nginx //查看安装路径
注:类似whereis命令还有:grep、find、which。具体区别与使用我也不是很清楚。大家自行百度吧。推荐链接:https://www.cnblogs.com/gjmhome/p/13471891.html
三、软件配置
1,redis配置:(密码设置、开机自启动)
密码设置
redis-cli //进入redis客户端
config get requirepass //没设置过密码会显示:”“
config set requirepass 123456 //设置redis密码为123456
auth 123456 //返回"ok",证明密码修改成功
但是,这样修改密码重启redis服务后,密码仍然会回到初始状态。也就是说这样修改密码只是当时有效,重启后失效。切记!!!!要下永久有效,请往下看,嘿嘿:
找到redis配置文件,我的是在/etc/redis.conf这里,修改文件。加入配置:requirepass 123456
保存退出后(vim 保存退出命令 :wq)就永久生效了。
大家可以看到重启服务后,redis密码仍然是123456
开机自启动
网当时百度的时候网上说的哪个复杂啊,修改配置文件,把一段脚本粘进去然后再怎么怎么样的,最后也没成功。
其实就一句话搞定,用万能的systemctl工具:systemctl enable redis
你会发现在/etc/systemd/system/multi-user.target.wants/目录下新建一个/usr/lib/systemd/system/redis.service 文件的链接。也就是说/etc/systemd/system/multi-user.target.wants/目录下都是开机自启动的服务。简单不,哈哈。以后装服务都可以按此方法设置自启动,这就跟windows下设置一样方便了。
推荐文章:https://blog.csdn.net/qq_29663071/article/details/80814081
以上截图是此文章的重点!
2,mysql配置(设置root密码,设置远程连接)
设置root密码
这个是我参照https://www.cnblogs.com/brianzhu/p/8575243.html文章做的验证,完全一致,大家可以参照此文章配置,我就不在描述了。
但是此时你用navicat远程连接还是连接不上,需要继续修改:
执行"grant
all
on
*.*
to
root@
'%'
identified
by
'数据库密码'
;
"后就会在user表里增加一行数据,其中Host为"%",这样就可以访问了。
到此可能还有部分用户远程访问失败,此时可以用telnet试下3306的端口通不通。
telnet IP地址 3306
此时应该是不通的,这就要关闭服务器防火墙了,具体操作如下:
systemctl status firewalld.service //查看防火墙是否开启
systemctl stop firewalld.service //关闭防火墙
stop命令在服务器重启后防火墙仍会启动。永久关闭应该这样:
systemctl disable firewalld.service //禁止防火墙服务器
到此Mysql远程就应该能连接上了
注:如果用云服务器(如阿里云)还要在其配置界面里打开端口3306的访问权限。
四、部署JEECG
大家完全可以参照jeecgBoot开发文档的介绍进行部署了。链接:http://doc.jeecg.com/2043886
这里要说明下,按照官方部署方案说是要加上部署插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
但是,我加上后反而报错:
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.5.RELEASE:repackage (repackage) on project jeecg-boot-base-tools: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.3.5.RELEASE:repackage failed: Unable to find main clas
后台去掉此插件,反而打包成功了。